Nestgrid.Response.Mvc
0.8.0
dotnet add package Nestgrid.Response.Mvc --version 0.8.0
NuGet\Install-Package Nestgrid.Response.Mvc -Version 0.8.0
<PackageReference Include="Nestgrid.Response.Mvc" Version="0.8.0" />
<PackageVersion Include="Nestgrid.Response.Mvc" Version="0.8.0" />
<PackageReference Include="Nestgrid.Response.Mvc" />
paket add Nestgrid.Response.Mvc --version 0.8.0
#r "nuget: Nestgrid.Response.Mvc, 0.8.0"
#:package Nestgrid.Response.Mvc@0.8.0
#addin nuget:?package=Nestgrid.Response.Mvc&version=0.8.0
#tool nuget:?package=Nestgrid.Response.Mvc&version=0.8.0
Nestgrid.Response.Mvc
MVC adapter for converting Nestgrid results into IActionResult responses.
Nestgrid.Response.Mvc targets netstandard2.0 and uses the shared HTTP mapping policy in Nestgrid.Response.Http. For modern .NET 8 ASP.NET Core applications, prefer Nestgrid.Response.AspNetCore unless you specifically need this older MVC-focused adapter.
Support Lifecycle
Nestgrid.Response.Mvc is maintained as part of the full Nestgrid.Response library. It shares the library's versioning, support, security, compatibility and release-review lifecycle; it has no separate maintenance lifecycle or independent end-of-support policy. The documented compatibility baseline is Microsoft.AspNetCore.Mvc.Core 2.1.38.
Installation
dotnet add package Nestgrid.Response.Mvc
Quick Start
using Nestgrid.Response;
using Nestgrid.Response.Mvc.Extensions;
services.AddNestgridResponse();
public IActionResult Get(int id)
{
Result<UserDto> result = users.Get(id);
return result.ToActionResult();
}
Realistic Example
using Microsoft.AspNetCore.Mvc;
using Nestgrid.Response;
using Nestgrid.Response.Mvc.Extensions;
[ApiController]
[Route("users")]
public sealed class UsersController(UserService users) : ControllerBase
{
[HttpGet("{id:int}")]
public IActionResult Get(int id)
{
Result<UserDto> result = users.Get(id);
return result.ToActionResult();
}
[HttpPost]
public IActionResult Create(UserDto user)
{
Result<UserDto> result = users.Create(user);
return result.ToActionResult();
}
}
Feature Summary
- Converts
ResultandResult<T>to MVCIActionResult. - Supports global and per-call
NestgridResponseOptions. - Uses shared HTTP mapping from
Nestgrid.Response.Http. - Supports
FullResultandValueOnlysuccess payload modes. - Suppresses response bodies for
ResultStatus.NoContent. - Keeps MVC execution separate from core result modeling.
Options
Register default options:
using Nestgrid.Response.Http.Options;
using Nestgrid.Response.Mvc.Extensions;
services.AddNestgridResponse(options =>
{
options.SuccessResponseMode = SuccessResponseMode.ValueOnly;
options.StatusMappings[ResultStatus.Failed] = 400;
});
Pass options for one response:
var options = new NestgridResponseOptions
{
SuccessResponseMode = SuccessResponseMode.ValueOnly
};
return result.ToActionResult(options);
Behavior
MVC behavior matches the ASP.NET Core adapter:
FullResultwrites the result envelope.ValueOnlywrites only the value for successful generic results.- Failures write the result envelope.
- Custom status mappings are supported.
- Missing custom mappings fall back to defaults.
NoContentnever writes a response body.
HTTP mapping is owned by Nestgrid.Response.Http; this package only adapts the mapping to MVC execution.
Custom mappings are consumer-owned security configuration. Preserve the defaults for Unauthorized, Forbidden, Error and NoContent unless the integration has explicitly reviewed the authentication, authorisation, caching and client-control consequences.
Documentation
Samples
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Http (>= 2.1.22)
- Microsoft.AspNetCore.Mvc.Core (>= 2.1.38)
- Nestgrid.Response.Http (>= 0.8.0)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.