Microsoft.AspNetCore.JsonPatch 10.0.0-preview.3.25172.1
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 |
---|---|
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/c663adee8e64ba5d379fa0edfb8201984a7df7d0
|
49 |
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/2670c128d522473e146ff9f8159bfffdfe694cd9
|
38 |
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
This package was built from the source code at https://github.com/aspnet/Mvc/tree/a6199bbfbab05583f987bae322fb04566841aaea
|
37 |
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/aspnet/AspNetCore/tree/cf2c5c9c6dca430b97aa96429b84d0da07eb77f1
|
36 |
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/b92c9f50f0333ea661785ba849f303cde6a93844
|
35 |
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/371a26f07b23ad77c636332c2dfc0cbd1d8137ba
|
33 |
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/0621c1748eac08dd516edc950559ab7e8308f214
|
20 |
RavenDB.Client
RavenDB Client is the client library for accessing RavenDB
|
15 |
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
|
14 |
RavenDB.Client
RavenDB Client is the client library for accessing RavenDB
|
13 |
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
|
13 |
.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.3.25172.1 | 5 | 04/13/2025 |
10.0.0-preview.2.25164.1 | 6 | 03/20/2025 |
10.0.0-preview.1.25120.3 | 8 | 02/27/2025 |
9.0.4 | 5 | 04/13/2025 |
9.0.3 | 3 | 03/20/2025 |
9.0.2 | 4 | 02/28/2025 |
9.0.1 | 11 | 01/19/2025 |
9.0.0 | 12 | 11/22/2024 |
9.0.0-rc.2.24474.3 | 7 | 11/22/2024 |
9.0.0-rc.1.24452.1 | 12 | 10/06/2024 |
9.0.0-preview.7.24406.2 | 8 | 10/06/2024 |
9.0.0-preview.6.24328.4 | 11 | 10/06/2024 |
9.0.0-preview.5.24306.11 | 11 | 10/06/2024 |
9.0.0-preview.4.24267.6 | 10 | 10/06/2024 |
9.0.0-preview.3.24172.13 | 10 | 10/06/2024 |
9.0.0-preview.2.24128.4 | 10 | 07/30/2024 |
9.0.0-preview.1.24081.5 | 11 | 10/06/2024 |
8.0.15 | 5 | 04/13/2025 |
8.0.14 | 6 | 03/20/2025 |
8.0.13 | 4 | 02/26/2025 |
8.0.12 | 7 | 01/19/2025 |
8.0.11 | 8 | 11/22/2024 |
8.0.10 | 8 | 11/08/2024 |
8.0.8 | 8 | 10/06/2024 |
8.0.7 | 11 | 10/06/2024 |
8.0.6 | 12 | 10/06/2024 |
8.0.5 | 12 | 10/06/2024 |
8.0.4 | 11 | 10/06/2024 |
8.0.3 | 11 | 10/06/2024 |
8.0.2 | 11 | 10/06/2024 |
8.0.1 | 11 | 10/06/2024 |
8.0.0 | 10 | 04/11/2024 |
8.0.0-rc.2.23480.2 | 10 | 10/06/2024 |
8.0.0-rc.1.23421.29 | 12 | 10/06/2024 |
8.0.0-preview.7.23375.9 | 8 | 10/06/2024 |
8.0.0-preview.6.23329.11 | 9 | 10/06/2024 |
8.0.0-preview.5.23302.2 | 10 | 10/06/2024 |
8.0.0-preview.4.23260.4 | 12 | 10/06/2024 |
8.0.0-preview.3.23177.8 | 9 | 10/06/2024 |
8.0.0-preview.2.23153.2 | 11 | 10/06/2024 |
8.0.0-preview.1.23112.2 | 11 | 10/06/2024 |
7.0.20 | 11 | 10/06/2024 |
7.0.19 | 13 | 10/06/2024 |
7.0.18 | 8 | 10/06/2024 |
7.0.17 | 11 | 10/06/2024 |
7.0.16 | 13 | 10/06/2024 |
7.0.15 | 9 | 10/06/2024 |
7.0.14 | 13 | 10/06/2024 |
7.0.13 | 12 | 10/06/2024 |
7.0.12 | 13 | 10/06/2024 |
7.0.11 | 11 | 10/06/2024 |
7.0.10 | 12 | 10/06/2024 |
7.0.9 | 8 | 10/06/2024 |
7.0.8 | 9 | 10/06/2024 |
7.0.7 | 9 | 10/06/2024 |
7.0.5 | 10 | 06/28/2023 |
7.0.4 | 9 | 10/06/2024 |
7.0.3 | 12 | 10/06/2024 |
7.0.2 | 10 | 10/06/2024 |
7.0.1 | 13 | 10/06/2024 |
7.0.0 | 12 | 10/06/2024 |
7.0.0-rc.2.22476.2 | 12 | 10/06/2024 |
7.0.0-rc.1.22427.2 | 10 | 10/06/2024 |
7.0.0-preview.7.22376.6 | 10 | 10/06/2024 |
7.0.0-preview.6.22330.3 | 10 | 10/06/2024 |
7.0.0-preview.5.22303.8 | 7 | 10/06/2024 |
7.0.0-preview.4.22251.1 | 11 | 10/06/2024 |
7.0.0-preview.3.22178.4 | 12 | 10/06/2024 |
7.0.0-preview.2.22153.2 | 10 | 10/06/2024 |
7.0.0-preview.1.22109.13 | 10 | 10/06/2024 |
6.0.36 | 9 | 11/22/2024 |
6.0.35 | 11 | 11/22/2024 |
6.0.33 | 9 | 10/06/2024 |
6.0.32 | 13 | 10/06/2024 |
6.0.31 | 8 | 10/06/2024 |
6.0.30 | 11 | 10/06/2024 |
6.0.29 | 11 | 10/06/2024 |
6.0.28 | 9 | 10/06/2024 |
6.0.27 | 11 | 10/06/2024 |
6.0.26 | 8 | 10/06/2024 |
6.0.25 | 9 | 10/06/2024 |
6.0.24 | 13 | 10/06/2024 |
6.0.23 | 11 | 10/06/2024 |
6.0.22 | 12 | 10/06/2024 |
6.0.21 | 11 | 10/06/2024 |
6.0.20 | 8 | 10/06/2024 |
6.0.19 | 11 | 10/06/2024 |
6.0.18 | 11 | 10/06/2024 |
6.0.16 | 10 | 10/06/2024 |
6.0.15 | 11 | 10/06/2024 |
6.0.14 | 8 | 10/06/2024 |
6.0.13 | 12 | 10/06/2024 |
6.0.12 | 8 | 10/06/2024 |
6.0.11 | 9 | 10/06/2024 |
6.0.10 | 10 | 10/06/2024 |
6.0.9 | 8 | 10/06/2024 |
6.0.8 | 8 | 10/06/2024 |
6.0.7 | 8 | 10/06/2024 |
6.0.6 | 9 | 10/06/2024 |
6.0.5 | 11 | 10/06/2024 |
6.0.4 | 11 | 10/06/2024 |
6.0.3 | 11 | 10/06/2024 |
6.0.2 | 11 | 10/06/2024 |
6.0.1 | 8 | 10/06/2024 |
6.0.0 | 12 | 10/06/2024 |
6.0.0-rc.2.21480.10 | 10 | 10/06/2024 |
6.0.0-rc.1.21452.15 | 30 | 02/22/2022 |
6.0.0-preview.7.21378.6 | 7 | 10/06/2024 |
6.0.0-preview.6.21355.2 | 12 | 10/06/2024 |
6.0.0-preview.5.21301.17 | 10 | 10/06/2024 |
6.0.0-preview.4.21253.5 | 10 | 10/06/2024 |
6.0.0-preview.3.21201.13 | 10 | 10/06/2024 |
6.0.0-preview.2.21154.6 | 10 | 10/06/2024 |
6.0.0-preview.1.21103.6 | 8 | 10/06/2024 |
5.0.17 | 11 | 10/06/2024 |
5.0.16 | 11 | 10/06/2024 |
5.0.15 | 9 | 10/06/2024 |
5.0.14 | 9 | 10/06/2024 |
5.0.13 | 8 | 10/06/2024 |
5.0.12 | 12 | 10/06/2024 |
5.0.11 | 11 | 10/06/2024 |
5.0.10 | 30 | 12/08/2021 |
5.0.9 | 42 | 12/09/2021 |
5.0.8 | 11 | 10/06/2024 |
5.0.7 | 8 | 10/06/2024 |
5.0.6 | 9 | 10/06/2024 |
5.0.5 | 8 | 10/06/2024 |
5.0.4 | 12 | 10/06/2024 |
5.0.3 | 8 | 10/06/2024 |
5.0.2 | 31 | 12/08/2021 |
5.0.1 | 12 | 10/06/2024 |
5.0.0 | 34 | 12/03/2021 |
5.0.0-rc.2.20475.17 | 10 | 10/06/2024 |
5.0.0-rc.1.20451.17 | 10 | 10/06/2024 |
5.0.0-preview.8.20414.8 | 12 | 10/06/2024 |
5.0.0-preview.7.20365.19 | 10 | 10/06/2024 |
5.0.0-preview.6.20312.15 | 7 | 10/06/2024 |
5.0.0-preview.5.20279.2 | 10 | 10/06/2024 |
5.0.0-preview.4.20257.10 | 10 | 10/06/2024 |
5.0.0-preview.3.20215.14 | 11 | 10/06/2024 |
5.0.0-preview.2.20167.3 | 9 | 10/06/2024 |
5.0.0-preview.1.20124.5 | 7 | 10/06/2024 |
3.1.32 | 13 | 10/06/2024 |
3.1.31 | 12 | 10/06/2024 |
3.1.30 | 11 | 10/06/2024 |
3.1.29 | 13 | 10/06/2024 |
3.1.28 | 8 | 10/06/2024 |
3.1.27 | 11 | 10/06/2024 |
3.1.26 | 13 | 10/06/2024 |
3.1.25 | 12 | 10/06/2024 |
3.1.24 | 13 | 10/06/2024 |
3.1.23 | 8 | 10/06/2024 |
3.1.22 | 11 | 10/06/2024 |
3.1.21 | 13 | 10/06/2024 |
3.1.20 | 8 | 10/06/2024 |
3.1.19 | 9 | 10/06/2024 |
3.1.18 | 8 | 10/06/2024 |
3.1.17 | 12 | 03/10/2023 |
3.1.16 | 11 | 10/06/2024 |
3.1.15 | 11 | 10/06/2024 |
3.1.14 | 11 | 10/06/2024 |
3.1.13 | 17 | 06/22/2022 |
3.1.12 | 14 | 12/10/2021 |
3.1.11 | 12 | 10/06/2024 |
3.1.10 | 10 | 10/06/2024 |
3.1.9 | 11 | 10/06/2024 |
3.1.8 | 8 | 10/06/2024 |
3.1.7 | 8 | 10/06/2024 |
3.1.6 | 11 | 10/06/2024 |
3.1.5 | 11 | 10/06/2024 |
3.1.4 | 9 | 10/06/2024 |
3.1.3 | 11 | 10/06/2024 |
3.1.2 | 11 | 10/06/2024 |
3.1.1 | 13 | 03/10/2023 |
3.1.0 | 10 | 10/06/2024 |
3.1.0-preview3.19555.2 | 7 | 10/06/2024 |
3.1.0-preview2.19528.8 | 10 | 10/06/2024 |
3.1.0-preview1.19508.20 | 12 | 10/06/2024 |
3.0.3 | 11 | 10/06/2024 |
3.0.2 | 12 | 10/06/2024 |
3.0.0 | 11 | 10/06/2024 |
3.0.0-rc1.19457.4 | 7 | 10/06/2024 |
3.0.0-preview9.19424.4 | 12 | 10/06/2024 |
3.0.0-preview8.19405.7 | 9 | 10/06/2024 |
3.0.0-preview7.19365.7 | 10 | 10/06/2024 |
3.0.0-preview6.19307.2 | 7 | 10/06/2024 |
3.0.0-preview5-19227-01 | 11 | 10/06/2024 |
3.0.0-preview4-19216-03 | 10 | 10/06/2024 |
3.0.0-preview3-19153-02 | 8 | 10/06/2024 |
3.0.0-preview-19075-0444 | 11 | 10/06/2024 |
3.0.0-preview-18579-0056 | 8 | 10/06/2024 |
2.3.0 | 7 | 01/19/2025 |
2.2.0 | 34 | 12/07/2021 |
2.2.0-preview3-35497 | 11 | 10/06/2024 |
2.2.0-preview2-35157 | 10 | 10/06/2024 |
2.2.0-preview1-35029 | 7 | 10/06/2024 |
2.1.1 | 11 | 10/06/2024 |
2.1.0 | 10 | 04/04/2022 |
2.1.0-rc1-final | 8 | 10/06/2024 |
2.1.0-preview2-final | 13 | 10/06/2024 |
2.1.0-preview1-final | 12 | 10/06/2024 |
2.0.0 | 9 | 10/06/2024 |
2.0.0-preview2-final | 9 | 10/06/2024 |
2.0.0-preview1-final | 10 | 10/06/2024 |
1.1.2 | 11 | 10/06/2024 |
1.1.1 | 7 | 10/06/2024 |
1.1.0 | 11 | 10/06/2024 |
1.1.0-preview1-final | 8 | 10/06/2024 |
1.0.0 | 8 | 10/06/2024 |
1.0.0-rc2-final | 9 | 10/06/2024 |