C#C
C#15mo ago
Fruity Mike

lib for asp.net core dependency issues

Hey I want to move out and generalize certain api configurations, middlewares, etc.
One of these would be json options:
builder.Services.AddControllers()
    .AddJsonOptions(options =>
    {
        options.AllowInputFormatterExceptionMessages = true;  options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;    options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
    })


I have written extension method for it:
public static IMvcBuilder AddDefaultJsonOptions(this IMvcBuilder builder, Action<JsonOptions> configure)
{
builder.AddJsonOptions(options =>
    { options.AllowInputFormatterExceptionMessages = true;  options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;  options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;   options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
configure.Invoke(options);
    });
    return builder;
}


Should be working, but 'JsonOptions' definition is missing and I'm unable to figure out/find necessary nuget. So far I'm using these packages:
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.2" />
  </ItemGroup>


Any tips would be appreciated.

P.S. using .net 8
Was this page helpful?