Microsoft.AspNetCore.JsonPatch 11.0.0-preview.4.26230.115

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.
29
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
30
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
31
KubernetesClient
Client library for the Kubernetes open source container orchestrator.
32
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
29
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
30
Microsoft.AspNetCore.All
Microsoft.AspNetCore.All
32
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
655
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
28

.NET 11.0

.NET Framework 4.6.2

.NET Standard 2.0

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