Microsoft.AspNetCore.JsonPatch 10.0.0-preview.5.25277.114
About
Microsoft.AspNetCore.JsonPatch
provides ASP.NET Core support for JSON PATCH requests.
How to Use
To use Microsoft.AspNetCore.JsonPatch
, follow these steps:
Installation
dotnet add package Microsoft.AspNetCore.JsonPatch
dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson
Configuration
To enable JSON Patch support, call AddNewtonsoftJson
in your ASP.NET Core app's Program.cs
:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers()
.AddNewtonsoftJson();
Configure when using System.Text.Json
To add support for JSON Patch using Newtonsoft.Json
while continuing to use System.Text.Json
for other input and output formatters:
- Update your
Program.cs
with logic to construct aNewtonsoftJsonPatchInputFormatter
:static NewtonsoftJsonPatchInputFormatter GetJsonPatchInputFormatter() { var builder = new ServiceCollection() .AddLogging() .AddMvc() .AddNewtonsoftJson() .Services.BuildServiceProvider(); return builder .GetRequiredService<IOptions<MvcOptions>>() .Value .InputFormatters .OfType<NewtonsoftJsonPatchInputFormatter>() .First(); }
- Configure the input formatter:
var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(options => { options.InputFormatters.Insert(0, GetJsonPatchInputFormatter()); });
Usage
To define an action method for a JSON Patch in an API controller:
- Annotate it with the
HttpPatch
attribute - Accept a
JsonPatchDocument<TModel>
- Call
ApplyTo
on the patch document to apply changes
For example:
[HttpPatch]
public IActionResult JsonPatchWithModelState(
[FromBody] JsonPatchDocument<Customer> patchDoc)
{
if (patchDoc is not null)
{
var customer = CreateCustomer();
patchDoc.ApplyTo(customer, ModelState);
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
return new ObjectResult(customer);
}
else
{
return BadRequest(ModelState);
}
}
In a real app, the code would retrieve the data from a store such as a database and update the database after applying the patch.
Additional Documentation
For additional documentation and examples, refer to the official documentation on JSON Patch in ASP.NET Core.
Feedback & Contributing
Microsoft.AspNetCore.JsonPatch
is released as open-source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
Showing the top 20 packages that depend on Microsoft.AspNetCore.JsonPatch.
Packages | Downloads |
---|---|
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
|
1 |
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
|
2 |
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH.
This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/b225d30209cf027c80b741d04efe1c54f2431b3c
|
2 |
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH.
This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/d5dc8a13cc618b9cbdc1e5744b4806c594d49553
|
2 |
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH.
This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/de35e2b0a0d8d5d1e307907983a6838da1092898
|
2 |
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH.
This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/ed74665e773dd1ebea3289c5662d71c590305932
|
11 |
Microsoft.AspNetCore.Mvc.NewtonsoftJson
ASP.NET Core MVC features that use Newtonsoft.Json. Includes input and output formatters for JSON and JSON PATCH.
This package was built from the source code at https://github.com/dotnet/dotnet/tree/c22dcd0c7a78d095a94d20e59ec0271b9924c82c
|
2 |
.NET Framework 4.6.2
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
.NET 10.0
- Newtonsoft.Json (>= 13.0.3)
.NET Standard 2.0
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
Version | Downloads | Last updated |
---|---|---|
10.0.0-preview.5.25277.114 | 1 | 6/9/2025 |
10.0.0-preview.4.25258.110 | 2 | 5/16/2025 |
10.0.0-preview.3.25172.1 | 2 | 4/19/2025 |
10.0.0-preview.2.25164.1 | 1 | 4/17/2025 |
10.0.0-preview.1.25120.3 | 2 | 3/1/2025 |
9.0.6 | 1 | 6/11/2025 |
9.0.5 | 11 | 5/17/2025 |
9.0.4 | 1 | 5/24/2025 |
9.0.2 | 1 | 3/1/2025 |
9.0.1 | 1 | 1/19/2025 |
9.0.0 | 1 | 11/14/2024 |
9.0.0-rc.2.24474.3 | 1 | 11/14/2024 |
9.0.0-preview.6.24328.4 | 1 | 11/13/2024 |
9.0.0-preview.1.24081.5 | 1 | 11/13/2024 |
8.0.17 | 1 | 6/11/2025 |
8.0.16 | 2 | 5/17/2025 |
8.0.15 | 2 | 4/19/2025 |
8.0.14 | 1 | 4/19/2025 |
8.0.13 | 1 | 3/1/2025 |
8.0.12 | 1 | 1/19/2025 |
8.0.11 | 1 | 11/14/2024 |
8.0.10 | 1 | 11/14/2024 |
8.0.8 | 1 | 11/13/2024 |
8.0.7 | 1 | 11/13/2024 |
8.0.5 | 1 | 11/13/2024 |
8.0.4 | 1 | 11/10/2024 |
8.0.3 | 1 | 11/13/2024 |
8.0.2 | 1 | 11/13/2024 |
8.0.1 | 1 | 11/13/2024 |
8.0.0 | 1 | 3/17/2025 |
8.0.0-rc.2.23480.2 | 1 | 11/13/2024 |
8.0.0-preview.6.23329.11 | 1 | 11/13/2024 |
8.0.0-preview.3.23177.8 | 1 | 11/13/2024 |
8.0.0-preview.2.23153.2 | 1 | 11/13/2024 |
8.0.0-preview.1.23112.2 | 1 | 11/13/2024 |
7.0.20 | 1 | 11/13/2024 |
7.0.17 | 1 | 11/13/2024 |
7.0.15 | 1 | 11/13/2024 |
7.0.11 | 1 | 11/13/2024 |
7.0.10 | 1 | 11/13/2024 |
7.0.9 | 1 | 11/13/2024 |
7.0.8 | 1 | 11/13/2024 |
7.0.1 | 1 | 11/13/2024 |
7.0.0-rc.2.22476.2 | 1 | 11/13/2024 |
7.0.0-rc.1.22427.2 | 1 | 11/13/2024 |
7.0.0-preview.5.22303.8 | 1 | 11/13/2024 |
6.0.36 | 1 | 11/14/2024 |
6.0.35 | 1 | 11/14/2024 |
6.0.33 | 1 | 11/10/2024 |
6.0.31 | 1 | 11/13/2024 |
6.0.30 | 1 | 11/10/2024 |
6.0.26 | 1 | 11/13/2024 |
6.0.25 | 1 | 11/13/2024 |
6.0.20 | 1 | 11/13/2024 |
6.0.18 | 1 | 11/13/2024 |
6.0.15 | 1 | 11/13/2024 |
6.0.14 | 1 | 11/13/2024 |
6.0.10 | 1 | 11/13/2024 |
6.0.9 | 1 | 11/13/2024 |
6.0.4 | 1 | 11/13/2024 |
6.0.2 | 1 | 11/13/2024 |
6.0.0-rc.1.21452.15 | 1 | 11/13/2024 |
6.0.0-preview.7.21378.6 | 1 | 11/13/2024 |
6.0.0-preview.6.21355.2 | 1 | 11/13/2024 |
6.0.0-preview.3.21201.13 | 1 | 11/13/2024 |
5.0.17 | 1 | 11/13/2024 |
5.0.14 | 1 | 11/13/2024 |
5.0.9 | 1 | 11/13/2024 |
5.0.7 | 1 | 11/13/2024 |
5.0.0 | 1 | 11/13/2024 |
5.0.0-rc.2.20475.17 | 1 | 11/13/2024 |
5.0.0-rc.1.20451.17 | 1 | 11/13/2024 |
5.0.0-preview.8.20414.8 | 1 | 11/13/2024 |
5.0.0-preview.6.20312.15 | 1 | 11/13/2024 |
5.0.0-preview.4.20257.10 | 1 | 11/13/2024 |
5.0.0-preview.2.20167.3 | 1 | 11/13/2024 |
3.1.31 | 1 | 11/13/2024 |
3.1.29 | 1 | 11/13/2024 |
3.1.27 | 1 | 11/13/2024 |
3.1.26 | 1 | 11/13/2024 |
3.1.24 | 1 | 11/13/2024 |
3.1.23 | 1 | 11/13/2024 |
3.1.22 | 1 | 11/13/2024 |
3.1.16 | 1 | 11/13/2024 |
3.1.14 | 1 | 11/13/2024 |
3.1.9 | 1 | 11/13/2024 |
3.1.8 | 1 | 11/13/2024 |
3.1.3 | 1 | 11/13/2024 |
3.1.1 | 1 | 11/13/2024 |
3.1.0-preview2.19528.8 | 1 | 11/13/2024 |
3.1.0-preview1.19508.20 | 1 | 11/13/2024 |
3.0.0-rc1.19457.4 | 1 | 11/13/2024 |
3.0.0-preview8.19405.7 | 1 | 11/13/2024 |
3.0.0-preview4-19216-03 | 1 | 11/13/2024 |
3.0.0-preview-18579-0056 | 1 | 11/13/2024 |
2.3.0 | 1 | 1/19/2025 |
2.2.0 | 1 | 11/10/2024 |
2.2.0-preview2-35157 | 1 | 11/13/2024 |
2.1.0-preview2-final | 1 | 11/13/2024 |
1.1.2 | 1 | 11/13/2024 |
1.1.1 | 1 | 11/13/2024 |
1.0.0-rc2-final | 1 | 11/10/2024 |