Microsoft.AspNetCore.JsonPatch 10.0.0-preview.7.25380.108

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/c663adee8e64ba5d379fa0edfb8201984a7df7d0
54
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
45
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
44
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
42
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
41
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
41
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
26
RavenDB.Client
RavenDB Client is the client library for accessing RavenDB
20
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
20
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
20
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
19
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
19
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/e1ad9117a4dac3b0f5f2a7e2b10b43b7016379b9
19
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/b12b77b241f0a093d53508c3cb2084860bd5339d
19
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/57512b49997283599b00a6b67d0ccebaec171daf
19
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/564969bca155b40432d101ec35f24a0e81e6afa0
19
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/54e8b61777d42d2b10744d1987438ee5b8c0b24d
19
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/fbe05294ac5c88be848b4d57d60cb2657874da9b
19
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/331b52b370cd4e7fe2919d4d4cda27412e2ab1cc
18
Microsoft.AspNetCore.Mvc.Formatters.Json
ASP.NET Core MVC formatters for JSON input and output and for JSON PATCH input using Json.NET.
18

.NET Framework 4.6.2

.NET 10.0

.NET Standard 2.0

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