如何在Web API中的特定控制器中禁用camelCase? [英] How to disable camelCase in specific controllers in Web API?

查看:48
本文介绍了如何在Web API中的特定控制器中禁用camelCase?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have camelCase by default in my Web API, but I need disable this setting in a specific controller (or in specific http action). This is possible?

推荐答案

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

I resolved this with this answer: 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);
    }
}

这篇关于如何在Web API中的特定控制器中禁用camelCase?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆