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:

  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
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
31
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/1dcf7acfacf0fe154adcc23270cb0da11ff44ace
30
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/617d594f2bf75a8904d3d0e7d68a0bacf8e6763a
30
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/4768f164d522e128f91827810527730f7468fd74
30
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.
30
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
29
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
29
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
29
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/b7a2ec8c7ed6b48857af0a69688a73e8c14fe6cb
29
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/4e7d976438b0fc17f435804e801d5d68d193ec33
29
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
29
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/0a2e366eaf4d29b24b9a98e5782a04bef573189e
29
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/36be7ed6d6d56b7da0a2891e3de7ecc2aa48eecd
29
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/c04846dc66cc97f71d83a83a15437828435f5d44
29
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/50b7e9c661453874aa7a54a3985d5120564bb2e5
29
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/21d42143378ad6cc4bcbaebfda5f3acddf13aa47
29
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
29

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

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