I have following code inside Startup.cs and expecting it to override default serialization options. I want it to override every single serialization throughout my asp net co
In ASP.NET Core, this is configured when wiring up the services on the application in Startup.ConfigureServices
. There is an fluent AddJsonOptions(Action<MvcJsonOptions>)
extension to the IMvcBuilder
returned by the AddMvc()
extension. MvcJsonOptions
exposes a SerializerSettings
property which you can configure in your action code.
So instead of configuring once before registering MVC, it's done as part of the MVC registration.
Example incorporating your setup:
services.AddMvc()
.AddJsonOptions( options =>
{
options.SerializerSettings.Formatting = Formatting.Indented;
options.SerializerSettings.TypeNameHandling = TypeNameHandling.Objects;
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
options.SerializerSettings.Converters.Add(new StringEnumConverter());
});