【问题标题】:How to set Modelstate error keys to camel case?如何将 Modelstate 错误键设置为驼峰式?
【发布时间】:2017-09-15 06:46:01
【问题描述】:

如何在 WEB Api .net 框架中将模型状态键设置为驼峰式。

我使用 JsonProperty 属性将属性名称设置为驼峰式。 现在我希望modelstate与json(驼峰式)相同,我该如何实现?

【问题讨论】:

    标签: c# json.net asp.net-web-api2 .net-framework-version modelstate


    【解决方案1】:

    你可以这样做:

    .AddJsonOptions(options =>
    {
        options.SerializerSettings.ContractResolver = new DefaultContractResolver
        {
            NamingStrategy = new CamelCaseNamingStrategy
            {
                ProcessDictionaryKeys = true
            }
        };
    });
    

    【讨论】:

    • 它解决了我的问题。这非常有用!谢谢你。我想,一定是答案。
    • 我看到这是可用的并且适用于 NewtonsoftJson,但我似乎无法在 dotnet 3.1 上找到 System.Text.Json 的等效扩展点(Microsoft 提供的用于替换 Newtonsoft 的新库)。有人知道使用较新的库可以做到这一点的方法吗?
    • @r3gularJ0hn 试试 options.JsonSerializerOptions.DictionaryKeyPolicy
    【解决方案2】:

    ConfigureServices() 中配置 MVC 时,替换 ContractResolver

    public void ConfigureServices(IServiceCollection services) {
        services.AddMvc()
            .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 2011-10-03
      相关资源
      最近更新 更多