【问题标题】:How to disable camelCase in specific controllers in Web API?如何在 Web API 的特定控制器中禁用 camelCase?
【发布时间】:2015-12-30 19:39:43
【问题描述】:

默认情况下,我的 Web API 中有 camelCase,但我需要在特定控制器(或特定 http 操作)中禁用此设置。这可能吗?

【问题讨论】:

    标签: asp.net-web-api


    【解决方案1】:

    我用这个答案解决了这个问题:https://stackoverflow.com/a/19959579/3621839

    我改为做相反的事情,只是:

    using System;
    using System.Linq;
    using System.Web.Http.Controllers;
    using System.Net.Http.Formatting;
    using Newtonsoft.Json.Serialization;
    
    public class DisableCamelCaseSerialization : Attribute, IControllerConfiguration
    {
        public void Initialize(HttpControllerSettings controllerSettings, HttpControllerDescriptor controllerDescriptor)
        {
            var formatter = controllerSettings.Formatters.OfType<JsonMediaTypeFormatter>().Single();
            controllerSettings.Formatters.Remove(formatter);
    
            formatter = new JsonMediaTypeFormatter
            {
                SerializerSettings = { ContractResolver = new DefaultContractResolver() }
            };
    
            controllerSettings.Formatters.Add(formatter);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 1970-01-01
      相关资源
      最近更新 更多