diff options
-rw-r--r-- | JPIF.cs | 22 | ||||
-rw-r--r-- | Program.cs | 9 |
2 files changed, 28 insertions, 3 deletions
@@ -0,0 +1,22 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Formatters; +using Microsoft.Extensions.Options; + +namespace BackendPIA { + public static class JPIF { + public static NewtonsoftJsonPatchInputFormatter GetJsonPatchInputFormatter() { + var builder = new ServiceCollection() + .AddLogging() + .AddMvc() + .AddNewtonsoftJson() + .Services.BuildServiceProvider(); + + return builder + .GetRequiredService<IOptions<MvcOptions>>() + .Value + .InputFormatters + .OfType<NewtonsoftJsonPatchInputFormatter>() + .First(); + } + } +}
\ No newline at end of file @@ -2,10 +2,11 @@ using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.IdentityModel.Tokens; using Microsoft.OpenApi.Models; -using System.IdentityModel.Tokens.Jwt; -using System.Text.Json.Serialization; + // using System.IdentityModel.Tokens.Jwt; + // using System.Text.Json.Serialization; using System.Text; using Microsoft.EntityFrameworkCore; +using BackendPIA; using BackendPIA.Models; using BackendPIA.Services; @@ -13,7 +14,9 @@ var builder = WebApplication.CreateBuilder(args); // Add services to the container. -builder.Services.AddControllers().AddNewtonsoftJson(); +builder.Services.AddControllers(options => { + options.InputFormatters.Insert(0, JPIF.GetJsonPatchInputFormatter()); + }).AddNewtonsoftJson(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddDbContext<ApplicationDbContext>(opt => opt.UseNpgsql(builder.Configuration.GetConnectionString("ApplicationDbContext"))); |