Microsoft.AspNetCore.JsonPatch 10.0.0-rc.1.25451.107

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:

  1. Update your Program.cs with logic to construct a NewtonsoftJsonPatchInputFormatter:
    static NewtonsoftJsonPatchInputFormatter GetJsonPatchInputFormatter()
    {
        var builder = new ServiceCollection()
            .AddLogging()
            .AddMvc()
            .AddNewtonsoftJson()
            .Services.BuildServiceProvider();
    
        return builder
            .GetRequiredService<IOptions<MvcOptions>>()
            .Value
            .InputFormatters
            .OfType<NewtonsoftJsonPatchInputFormatter>()
            .First();
    }
    
  2. 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:

  1. Annotate it with the HttpPatch attribute
  2. Accept a JsonPatchDocument<TModel>
  3. 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/0a715692d8e2536c899faa0bb4f0cec2c2e33e36
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/dotnet/aspnetcore/tree/8486d31e24f30e3fa1809a95699a0adc16f448d7
36
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.
23
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/bb01bbf4433e27289b99001b7de6a582879d1835
23
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/d634f2bd1ad6e319f26ff0f1d7ada5539158a19f
23
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
23
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.
22
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
22
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/e5f183b656a0e8bc087108130a5a9b54ae94494e
22
Microsoft.AspNetCore.All
Provides a default set of API 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. This package was built from the source at: https://github.com/aspnet/Universe/tree/c0686cbb3c353de256da1db32829d58143b567f5
21
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.
21

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

Version Downloads Last updated
10.0.1 2 12/11/2025
10.0.0 4 11/16/2025
10.0.0-rc.2.25502.107 6 10/16/2025
10.0.0-rc.1.25451.107 6 09/11/2025
10.0.0-preview.7.25380.108 8 08/15/2025
10.0.0-preview.6.25358.103 8 08/06/2025
10.0.0-preview.5.25277.114 10 06/09/2025
10.0.0-preview.4.25258.110 11 05/24/2025
10.0.0-preview.3.25172.1 12 05/04/2025
10.0.0-preview.2.25164.1 11 04/01/2025
10.0.0-preview.1.25120.3 14 02/27/2025
9.0.11 5 11/13/2025
9.0.10 6 10/16/2025
9.0.9 7 09/11/2025
9.0.8 10 08/06/2025
9.0.7 9 07/10/2025
9.0.6 12 06/13/2025
9.0.5 15 05/23/2025
9.0.4 16 05/05/2025
9.0.3 16 03/11/2025
9.0.2 17 02/27/2025
9.0.1 18 02/27/2025
9.0.0 18 02/27/2025
9.0.0-rc.2.24474.3 13 02/27/2025
9.0.0-rc.1.24452.1 14 02/27/2025
9.0.0-preview.7.24406.2 15 02/27/2025
9.0.0-preview.6.24328.4 14 02/27/2025
9.0.0-preview.5.24306.11 15 02/27/2025
9.0.0-preview.4.24267.6 14 02/27/2025
9.0.0-preview.3.24172.13 13 04/27/2024
9.0.0-preview.2.24128.4 17 03/26/2024
9.0.0-preview.1.24081.5 16 02/17/2024
8.0.22 5 11/13/2025
8.0.21 6 10/16/2025
8.0.20 6 09/11/2025
8.0.19 7 08/07/2025
8.0.18 8 07/11/2025
8.0.17 12 06/13/2025
8.0.16 12 05/23/2025
8.0.15 13 05/05/2025
8.0.14 12 03/11/2025
8.0.13 13 02/27/2025
8.0.12 15 02/27/2025
8.0.11 14 02/27/2025
8.0.10 16 11/04/2024
8.0.8 17 02/27/2025
8.0.7 18 02/27/2025
8.0.6 17 02/27/2025
8.0.5 17 02/27/2025
8.0.4 35 04/28/2024
8.0.3 19 03/26/2024
8.0.2 21 02/22/2024
8.0.1 20 02/22/2024
8.0.0 21 02/22/2024
8.0.0-rc.2.23480.2 17 02/17/2024
8.0.0-rc.1.23421.29 17 02/17/2024
8.0.0-preview.7.23375.9 17 02/17/2024
8.0.0-preview.6.23329.11 15 02/17/2024
8.0.0-preview.5.23302.2 16 02/17/2024
8.0.0-preview.4.23260.4 16 02/17/2024
8.0.0-preview.3.23177.8 18 02/17/2024
8.0.0-preview.2.23153.2 18 02/17/2024
8.0.0-preview.1.23112.2 17 02/17/2024
7.0.20 15 10/14/2024
7.0.19 15 02/27/2025
7.0.18 16 04/27/2024
7.0.17 16 03/26/2024
7.0.16 17 02/17/2024
7.0.15 17 02/17/2024
7.0.14 33 01/23/2024
7.0.13 18 02/17/2024
7.0.12 18 02/17/2024
7.0.11 18 02/17/2024
7.0.10 19 01/21/2024
7.0.9 21 02/22/2024
7.0.8 20 02/22/2024
7.0.7 20 02/22/2024
7.0.5 20 02/22/2024
7.0.4 21 02/22/2024
7.0.3 20 02/22/2024
7.0.2 20 02/22/2024
7.0.1 21 02/22/2024
7.0.0 23 02/22/2024
7.0.0-rc.2.22476.2 18 02/17/2024
7.0.0-rc.1.22427.2 18 02/17/2024
7.0.0-preview.7.22376.6 17 02/17/2024
7.0.0-preview.6.22330.3 17 02/17/2024
7.0.0-preview.5.22303.8 18 02/17/2024
7.0.0-preview.4.22251.1 18 02/17/2024
7.0.0-preview.3.22178.4 17 02/22/2024
7.0.0-preview.2.22153.2 18 02/17/2024
7.0.0-preview.1.22109.13 18 02/17/2024
6.0.36 14 02/27/2025
6.0.35 14 02/27/2025
6.0.33 15 02/27/2025
6.0.32 14 02/27/2025
6.0.31 15 02/27/2025
6.0.30 15 02/27/2025
6.0.29 16 04/27/2024
6.0.28 17 03/26/2024
6.0.27 17 02/17/2024
6.0.26 17 02/17/2024
6.0.25 18 02/17/2024
6.0.24 22 02/17/2024
6.0.23 18 02/17/2024
6.0.22 17 02/17/2024
6.0.21 17 02/17/2024
6.0.20 18 02/17/2024
6.0.19 16 02/17/2024
6.0.18 17 02/17/2024
6.0.16 17 02/17/2024
6.0.15 18 02/17/2024
6.0.14 18 02/17/2024
6.0.13 17 02/17/2024
6.0.12 17 02/17/2024
6.0.11 18 02/17/2024
6.0.10 18 02/17/2024
6.0.9 21 02/22/2024
6.0.8 20 02/22/2024
6.0.7 19 02/22/2024
6.0.6 19 02/22/2024
6.0.5 22 02/22/2024
6.0.4 20 02/22/2024
6.0.3 21 02/22/2024
6.0.2 21 02/22/2024
6.0.1 20 02/22/2024
6.0.0 22 02/22/2024
6.0.0-rc.2.21480.10 18 02/17/2024
6.0.0-rc.1.21452.15 17 02/17/2024
6.0.0-preview.7.21378.6 18 02/17/2024
6.0.0-preview.6.21355.2 16 02/17/2024
6.0.0-preview.5.21301.17 18 02/17/2024
6.0.0-preview.4.21253.5 18 02/17/2024
6.0.0-preview.3.21201.13 18 02/17/2024
6.0.0-preview.2.21154.6 17 02/17/2024
6.0.0-preview.1.21103.6 16 02/17/2024
5.0.17 18 02/17/2024
5.0.16 18 02/17/2024
5.0.15 18 02/17/2024
5.0.14 16 02/17/2024
5.0.13 16 02/17/2024
5.0.12 16 02/17/2024
5.0.11 16 02/17/2024
5.0.10 17 02/17/2024
5.0.9 20 02/22/2024
5.0.8 21 02/22/2024
5.0.7 21 02/22/2024
5.0.6 22 02/22/2024
5.0.5 21 02/22/2024
5.0.4 19 02/22/2024
5.0.3 22 02/22/2024
5.0.2 22 02/22/2024
5.0.1 20 02/22/2024
5.0.0 19 02/22/2024
5.0.0-rc.2.20475.17 17 02/17/2024
5.0.0-rc.1.20451.17 17 02/17/2024
5.0.0-preview.8.20414.8 17 02/17/2024
5.0.0-preview.7.20365.19 16 02/17/2024
5.0.0-preview.6.20312.15 15 02/17/2024
5.0.0-preview.5.20279.2 15 02/17/2024
5.0.0-preview.4.20257.10 17 02/17/2024
5.0.0-preview.3.20215.14 17 02/17/2024
5.0.0-preview.2.20167.3 16 02/17/2024
5.0.0-preview.1.20124.5 14 02/17/2024
3.1.32 15 02/17/2024
3.1.31 17 02/17/2024
3.1.30 16 02/17/2024
3.1.29 17 02/17/2024
3.1.28 16 02/17/2024
3.1.27 16 02/17/2024
3.1.26 15 02/17/2024
3.1.25 17 02/17/2024
3.1.24 16 02/17/2024
3.1.23 16 02/17/2024
3.1.22 15 02/17/2024
3.1.21 15 02/17/2024
3.1.20 16 02/17/2024
3.1.19 17 02/17/2024
3.1.18 17 02/17/2024
3.1.17 17 02/17/2024
3.1.16 17 02/17/2024
3.1.15 16 02/17/2024
3.1.14 17 02/17/2024
3.1.13 17 02/17/2024
3.1.12 17 02/17/2024
3.1.11 17 02/17/2024
3.1.10 16 02/17/2024
3.1.9 20 02/22/2024
3.1.8 20 02/22/2024
3.1.7 20 02/22/2024
3.1.6 21 02/22/2024
3.1.5 19 02/22/2024
3.1.4 21 02/22/2024
3.1.3 19 02/22/2024
3.1.2 20 02/22/2024
3.1.1 20 02/22/2024
3.1.0 20 02/22/2024
3.1.0-preview3.19555.2 17 02/17/2024
3.1.0-preview2.19528.8 14 02/17/2024
3.1.0-preview1.19508.20 15 02/17/2024
3.0.3 20 02/22/2024
3.0.2 20 02/22/2024
3.0.0 20 02/22/2024
3.0.0-rc1.19457.4 16 02/17/2024
3.0.0-preview9.19424.4 15 02/17/2024
3.0.0-preview8.19405.7 16 02/17/2024
3.0.0-preview7.19365.7 15 02/17/2024
3.0.0-preview6.19307.2 16 02/17/2024
3.0.0-preview5-19227-01 16 02/17/2024
3.0.0-preview4-19216-03 14 02/17/2024
3.0.0-preview3-19153-02 17 02/17/2024
3.0.0-preview-19075-0444 17 02/17/2024
3.0.0-preview-18579-0056 16 02/17/2024
2.3.0 18 02/27/2025
2.2.0 21 02/22/2024
2.2.0-preview3-35497 17 02/17/2024
2.2.0-preview2-35157 18 02/17/2024
2.2.0-preview1-35029 17 02/17/2024
2.1.1 21 02/22/2024
2.1.0 22 02/22/2024
2.1.0-rc1-final 18 02/17/2024
2.1.0-preview2-final 18 02/17/2024
2.1.0-preview1-final 18 02/17/2024
2.0.0 20 02/22/2024
2.0.0-preview2-final 16 02/17/2024
2.0.0-preview1-final 19 02/17/2024
1.1.2 21 02/22/2024
1.1.1 20 02/22/2024
1.1.0 20 02/22/2024
1.1.0-preview1-final 18 02/17/2024
1.0.0 21 02/22/2024
1.0.0-rc2-final 19 02/17/2024