如何将Modelstate错误键设置为驼峰式?

7

我该如何在.NET框架的WEB Api中将modelstate键设为驼峰命名法:

我使用JsonProperty属性来设置属性名称为驼峰命名法。现在我希望modelstate与json相同(都是驼峰命名法),我该怎么做呢?

2个回答

3
你可以按照以下步骤操作:
.AddJsonOptions(options =>
{
    options.SerializerSettings.ContractResolver = new DefaultContractResolver
    {
        NamingStrategy = new CamelCaseNamingStrategy
        {
            ProcessDictionaryKeys = true
        }
    };
});

它解决了我的问题。非常有用!谢谢。我认为,这一定是答案。 - Aleksej_Shherbak
1
我发现在NewtonsoftJson上这是可用的并且可以工作,但是我似乎找不到等效的可扩展性点在dotnet 3.1上用于System.Text.Json(Microsoft提供的新库来替换Newtonsoft)。是否有人知道如何使用较新的库完成此操作? - r3gularJ0hn
1
@r3gularJ0hn 请尝试使用 options.JsonSerializerOptions.DictionaryKeyPolicy。 - alastairs

1
在配置MVC时,在你的ConfigureServices()中,替换ContractResolver:
public void ConfigureServices(IServiceCollection services) {
    services.AddMvc()
        .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver());
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接