Cześć
Mam taki problem, że potrzebuję aby każdy response był w konwencji camelCase. Obecnie wszystkie wychodzą w konwencji PascalCase.
Standardowo powinny wychodzić jako camelCase, ale nie mam pojęcia co się spikowaliło.
Spójrzcie proszę na poniższy kod i podpowiedzcie jak to naprawić.
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.InstallServices(Configuration);
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
var basePath = Configuration.GetSection("BasePath");
app.UsePathBase(basePath.Value);
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseCors(builder =>
{
builder.AllowAnyOrigin();
builder.AllowAnyHeader();
});
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.UseSwagger()
.UseSwaggerUI(options =>
{
options.SwaggerEndpoint($"{basePath.Value}/swagger/v1/swagger.json", "Api V1");
});
}
}
public class MvcInstaller : IInstaller
{
public void InstallServices(IServiceCollection services, IConfiguration configuration)
{
services
.AddControllers();
services
.AddCors();
services
.AddMvc(options =>
{
options.Filters.Add(typeof(ValidationFilter));
options.Filters.Add(typeof(ExceptionsFilter));
options.EnableEndpointRouting = false;
})
.AddFluentValidation(configuration => configuration.RegisterValidatorsFromAssemblyContaining<Startup>())
.AddNewtonsoftJson(options =>
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
options.SerializerSettings.ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
ProcessDictionaryKeys = true
}
};
});
services
.Configure<ApiBehaviorOptions>(options =>
{
options.SuppressModelStateInvalidFilter = true;
});
}
}