Microsoft.AspNetCore.JsonPatch 10.0.0-preview.1.25120.3
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.All
Microsoft.AspNetCore.All
|
48 |
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
|
49 |
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
|
52 |
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
|
55 |
Microsoft.AspNetCore.All
Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
48 |
Microsoft.AspNetCore.All
Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
49 |
Microsoft.AspNetCore.All
Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
50 |
Microsoft.AspNetCore.All
Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
53 |
Microsoft.AspNetCore.All
Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
56 |
Microsoft.AspNetCore.All
Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
62 |
Microsoft.AspNetCore.App
Provides a default set of APIs for building an ASP.NET Core application.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
52 |
Microsoft.AspNetCore.App
Provides a default set of APIs for building an ASP.NET Core application.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
54 |
Microsoft.AspNetCore.App
Provides a default set of APIs for building an ASP.NET Core application.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
55 |
Microsoft.AspNetCore.App
Provides a default set of APIs for building an ASP.NET Core application.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
56 |
Microsoft.AspNetCore.App
Provides a default set of APIs for building an ASP.NET Core application.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
70 |
Microsoft.AspNetCore.App
Provides a default set of APIs for building an ASP.NET Core application.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
78 |
Microsoft.AspNetCore.App
Provides a default set of APIs for building an ASP.NET Core application.
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
This package was built from the source at:
https://github.com/aspnet/Universe/tree/1016eae4004686f7fdad13f5c329f63bbae1f3a1
|
68 |
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/844a82e37cae48af2ab2ee4f39b41283e6bb4f0e
|
10,317 |
.NET Framework 4.6.2
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.3)
.NET 10.0
- Microsoft.CSharp (>= 4.7.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.1.25120.3 | 2 | 02/27/2025 |
9.0.3 | 0 | 03/11/2025 |
9.0.2 | 3 | 02/17/2025 |
9.0.1 | 5 | 01/16/2025 |
9.0.0 | 8 | 11/15/2024 |
9.0.0-rc.2.24474.3 | 10 | 10/14/2024 |
9.0.0-rc.1.24452.1 | 13 | 09/11/2024 |
9.0.0-preview.7.24406.2 | 11 | 08/13/2024 |
9.0.0-preview.6.24328.4 | 12 | 07/10/2024 |
9.0.0-preview.5.24306.11 | 12 | 06/14/2024 |
9.0.0-preview.4.24267.6 | 11 | 05/22/2024 |
9.0.0-preview.3.24172.13 | 13 | 04/17/2024 |
9.0.0-preview.2.24128.4 | 15 | 03/15/2024 |
9.0.0-preview.1.24081.5 | 15 | 02/20/2024 |
8.0.14 | 0 | 03/11/2025 |
8.0.13 | 2 | 02/17/2025 |
8.0.12 | 3 | 01/16/2025 |
8.0.11 | 8 | 11/15/2024 |
8.0.10 | 10 | 10/13/2024 |
8.0.8 | 9 | 08/13/2024 |
8.0.7 | 16 | 07/14/2024 |
8.0.6 | 11 | 05/28/2024 |
8.0.5 | 14 | 05/16/2024 |
8.0.4 | 11 | 04/16/2024 |
8.0.3 | 13 | 03/12/2024 |
8.0.2 | 12 | 02/18/2024 |
8.0.1 | 18 | 02/18/2024 |
8.0.0 | 18 | 11/14/2023 |
8.0.0-rc.2.23480.2 | 18 | 10/22/2023 |
8.0.0-rc.1.23421.29 | 18 | 09/17/2023 |
8.0.0-preview.7.23375.9 | 26 | 08/23/2023 |
8.0.0-preview.6.23329.11 | 20 | 09/26/2023 |
8.0.0-preview.5.23302.2 | 27 | 06/16/2023 |
8.0.0-preview.4.23260.4 | 23 | 05/26/2023 |
8.0.0-preview.3.23177.8 | 30 | 06/16/2023 |
8.0.0-preview.2.23153.2 | 21 | 06/16/2023 |
8.0.0-preview.1.23112.2 | 22 | 03/28/2023 |
7.0.20 | 12 | 05/28/2024 |
7.0.19 | 21 | 05/16/2024 |
7.0.18 | 21 | 04/16/2024 |
7.0.17 | 12 | 03/12/2024 |
7.0.16 | 13 | 02/19/2024 |
7.0.15 | 14 | 02/18/2024 |
7.0.14 | 20 | 11/14/2023 |
7.0.13 | 18 | 10/26/2023 |
7.0.12 | 16 | 10/13/2023 |
7.0.11 | 16 | 09/17/2023 |
7.0.10 | 17 | 09/27/2023 |
7.0.9 | 17 | 09/27/2023 |
7.0.8 | 24 | 07/12/2023 |
7.0.7 | 13 | 06/16/2023 |
7.0.5 | 20 | 06/16/2023 |
7.0.4 | 15 | 03/28/2023 |
7.0.3 | 23 | 03/28/2023 |
7.0.2 | 16 | 03/28/2023 |
7.0.1 | 15 | 03/28/2023 |
7.0.0 | 45 | 01/10/2023 |
7.0.0-rc.2.22476.2 | 28 | 10/17/2022 |
7.0.0-rc.1.22427.2 | 31 | 09/21/2022 |
7.0.0-preview.7.22376.6 | 28 | 09/21/2022 |
7.0.0-preview.6.22330.3 | 21 | 10/17/2022 |
7.0.0-preview.5.22303.8 | 23 | 09/21/2022 |
7.0.0-preview.4.22251.1 | 23 | 09/24/2022 |
7.0.0-preview.3.22178.4 | 23 | 09/21/2022 |
7.0.0-preview.2.22153.2 | 32 | 09/24/2022 |
7.0.0-preview.1.22109.13 | 34 | 09/21/2022 |
6.0.36 | 9 | 11/15/2024 |
6.0.35 | 8 | 10/14/2024 |
6.0.33 | 9 | 08/13/2024 |
6.0.32 | 11 | 07/18/2024 |
6.0.31 | 10 | 05/28/2024 |
6.0.30 | 14 | 05/16/2024 |
6.0.29 | 11 | 04/16/2024 |
6.0.28 | 14 | 03/12/2024 |
6.0.27 | 17 | 02/18/2024 |
6.0.26 | 14 | 02/18/2024 |
6.0.25 | 21 | 11/14/2023 |
6.0.24 | 10 | 10/26/2023 |
6.0.23 | 10 | 10/13/2023 |
6.0.22 | 10 | 09/17/2023 |
6.0.21 | 11 | 09/27/2023 |
6.0.20 | 16 | 10/02/2023 |
6.0.19 | 21 | 08/11/2023 |
6.0.18 | 16 | 06/16/2023 |
6.0.16 | 17 | 06/16/2023 |
6.0.15 | 24 | 03/28/2023 |
6.0.14 | 16 | 03/28/2023 |
6.0.13 | 18 | 03/28/2023 |
6.0.12 | 31 | 06/16/2023 |
6.0.11 | 14 | 03/28/2023 |
6.0.10 | 21 | 10/17/2022 |
6.0.9 | 17 | 09/22/2022 |
6.0.8 | 23 | 09/21/2022 |
6.0.7 | 34 | 09/22/2022 |
6.0.6 | 37 | 09/23/2022 |
6.0.5 | 14 | 10/17/2022 |
6.0.4 | 68 | 07/10/2022 |
6.0.3 | 20 | 08/21/2022 |
6.0.2 | 17 | 09/21/2022 |
6.0.1 | 17 | 10/17/2022 |
6.0.0 | 27 | 09/21/2022 |
6.0.0-rc.2.21480.10 | 19 | 10/17/2022 |
6.0.0-rc.1.21452.15 | 76 | 10/17/2022 |
6.0.0-preview.7.21378.6 | 23 | 09/26/2022 |
6.0.0-preview.6.21355.2 | 65 | 10/17/2022 |
6.0.0-preview.5.21301.17 | 23 | 09/22/2022 |
6.0.0-preview.4.21253.5 | 30 | 09/21/2022 |
6.0.0-preview.3.21201.13 | 27 | 10/17/2022 |
6.0.0-preview.2.21154.6 | 24 | 09/22/2022 |
6.0.0-preview.1.21103.6 | 36 | 09/21/2022 |
5.0.17 | 15 | 09/22/2022 |
5.0.16 | 67 | 09/21/2022 |
5.0.15 | 19 | 10/17/2022 |
5.0.14 | 16 | 06/27/2022 |
5.0.13 | 23 | 07/08/2022 |
5.0.12 | 17 | 07/25/2022 |
5.0.11 | 22 | 09/23/2022 |
5.0.10 | 17 | 10/17/2022 |
5.0.9 | 22 | 08/27/2022 |
5.0.8 | 24 | 07/15/2022 |
5.0.7 | 24 | 09/21/2022 |
5.0.6 | 47 | 10/17/2022 |
5.0.5 | 18 | 08/31/2022 |
5.0.4 | 20 | 09/21/2022 |
5.0.3 | 20 | 09/21/2022 |
5.0.2 | 24 | 10/17/2022 |
5.0.1 | 22 | 09/24/2022 |
5.0.0 | 30 | 06/30/2022 |
5.0.0-rc.2.20475.17 | 38 | 09/26/2022 |
5.0.0-rc.1.20451.17 | 32 | 09/21/2022 |
5.0.0-preview.8.20414.8 | 30 | 10/17/2022 |
5.0.0-preview.7.20365.19 | 26 | 09/22/2022 |
5.0.0-preview.6.20312.15 | 23 | 09/22/2022 |
5.0.0-preview.5.20279.2 | 69 | 07/05/2022 |
5.0.0-preview.4.20257.10 | 26 | 10/17/2022 |
5.0.0-preview.3.20215.14 | 23 | 10/17/2022 |
5.0.0-preview.2.20167.3 | 26 | 09/21/2022 |
5.0.0-preview.1.20124.5 | 23 | 09/21/2022 |
3.1.32 | 18 | 03/28/2023 |
3.1.31 | 20 | 03/28/2023 |
3.1.30 | 12 | 10/17/2022 |
3.1.29 | 23 | 09/25/2022 |
3.1.28 | 14 | 09/21/2022 |
3.1.27 | 20 | 09/23/2022 |
3.1.26 | 16 | 07/29/2022 |
3.1.25 | 21 | 09/21/2022 |
3.1.24 | 21 | 09/10/2022 |
3.1.23 | 17 | 10/17/2022 |
3.1.22 | 39 | 09/22/2022 |
3.1.21 | 20 | 06/28/2022 |
3.1.20 | 57 | 09/25/2022 |
3.1.19 | 43 | 07/05/2022 |
3.1.18 | 48 | 07/25/2022 |
3.1.17 | 20 | 09/22/2022 |
3.1.16 | 20 | 10/17/2022 |
3.1.15 | 27 | 07/18/2022 |
3.1.14 | 16 | 08/06/2022 |
3.1.13 | 17 | 08/10/2022 |
3.1.12 | 26 | 09/24/2022 |
3.1.11 | 24 | 09/21/2022 |
3.1.10 | 23 | 10/17/2022 |
3.1.9 | 21 | 07/30/2022 |
3.1.8 | 20 | 09/22/2022 |
3.1.7 | 54 | 09/23/2022 |
3.1.6 | 46 | 07/05/2022 |
3.1.5 | 10,330 | 06/27/2022 |
3.1.4 | 27 | 09/23/2022 |
3.1.3 | 22 | 09/21/2022 |
3.1.2 | 21 | 09/21/2022 |
3.1.1 | 16 | 09/21/2022 |
3.1.0 | 44 | 09/21/2022 |
3.1.0-preview3.19555.2 | 35 | 10/15/2022 |
3.1.0-preview2.19528.8 | 23 | 09/25/2022 |
3.1.0-preview1.19508.20 | 52 | 07/02/2022 |
3.0.3 | 73 | 10/17/2022 |
3.0.2 | 43 | 07/14/2022 |
3.0.0 | 28 | 07/12/2022 |
3.0.0-rc1.19457.4 | 20 | 09/23/2022 |
3.0.0-preview9.19424.4 | 23 | 10/17/2022 |
3.0.0-preview8.19405.7 | 61 | 09/21/2022 |
3.0.0-preview7.19365.7 | 44 | 10/19/2022 |
3.0.0-preview6.19307.2 | 21 | 09/25/2022 |
3.0.0-preview5-19227-01 | 22 | 09/24/2022 |
3.0.0-preview4-19216-03 | 35 | 09/21/2022 |
3.0.0-preview3-19153-02 | 44 | 09/25/2022 |
3.0.0-preview-19075-0444 | 24 | 10/19/2022 |
3.0.0-preview-18579-0056 | 27 | 07/29/2022 |
2.3.0 | 4 | 01/16/2025 |
2.2.0 | 22 | 07/15/2022 |
2.2.0-preview3-35497 | 70 | 09/21/2022 |
2.2.0-preview2-35157 | 22 | 07/25/2022 |
2.2.0-preview1-35029 | 53 | 09/21/2022 |
2.1.1 | 25 | 09/26/2022 |
2.1.0 | 17 | 06/27/2022 |
2.1.0-rc1-final | 23 | 07/29/2022 |
2.1.0-preview2-final | 27 | 09/21/2022 |
2.1.0-preview1-final | 24 | 09/21/2022 |
2.0.0 | 19 | 10/19/2022 |
2.0.0-preview2-final | 25 | 09/22/2022 |
2.0.0-preview1-final | 24 | 09/21/2022 |
1.1.2 | 21 | 09/21/2022 |
1.1.1 | 19 | 10/19/2022 |
1.1.0 | 19 | 10/19/2022 |
1.1.0-preview1-final | 26 | 09/22/2022 |
1.0.0 | 20 | 07/20/2022 |
1.0.0-rc2-final | 61 | 10/19/2022 |