覆盖 WebApiConfig 格式

Override WebApiConfig formatting

在我的 Web API 2 项目的 Register 方法中,我添加了这段代码,以便返回的 JSON 自动采用驼峰式大小写:

public static void Register(HttpConfiguration config) {
    var settings = config.Formatters.JsonFormatter.SerializerSettings;
    settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    settings.Formatting = Formatting.Indented;

不过,我有一种或两种方法,我不希望它那样做,并且真的希望将外壳单独放置。有没有办法从单个路由的方法中覆盖它?

我有数百个方法需要它,只有几个不需要。

您可以尝试类似下面的方法来绕过全局格式化程序设置,

    public HttpResponseMessage Get()
    { 
        Person content = new Person() { PersonID = 1, PersonName = "name" };

        HttpResponseMessage resposne = new HttpResponseMessage();
        resposne.Content = new ObjectContent(content.GetType(), content, new JsonMediaTypeFormatter());

        return resposne;            
    }