Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api 如何在Web API的特定控制器中禁用camelCase?_Asp.net Web Api - Fatal编程技术网

Asp.net web api 如何在Web API的特定控制器中禁用camelCase?

Asp.net web api 如何在Web API的特定控制器中禁用camelCase?,asp.net-web-api,Asp.net Web Api,默认情况下,我在Web API中有camelCase,但我需要在特定控制器(或特定http操作)中禁用此设置。这是可能的?我用这个答案解决了这个问题: 我改为做相反的事情,只是: using System; using System.Linq; using System.Web.Http.Controllers; using System.Net.Http.Formatting; using Newtonsoft.Json.Serialization; public class Disable

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

我用这个答案解决了这个问题:

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

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);
    }
}
使用系统;
使用System.Linq;
使用System.Web.Http.Controller;
使用System.Net.Http.Formatting;
使用Newtonsoft.Json.Serialization;
公共类DisableCamelCaseSerialization:属性,IControllerConfiguration
{
公共无效初始化(HttpControllerSettings controllerSettings,HttpControllerDescriptor controllerDescriptor)
{
var formatter=controllerSettings.Formatters.OfType().Single();
controllerSettings.Formatters.Remove(格式化程序);
formatter=新的JsonMediaTypeFormatter
{
SerializerSettings={ContractResolver=new DefaultContractResolver()}
};
controllerSettings.Formatters.Add(格式化程序);
}
}

我用这个答案解决了这个问题:

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

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);
    }
}
使用系统;
使用System.Linq;
使用System.Web.Http.Controller;
使用System.Net.Http.Formatting;
使用Newtonsoft.Json.Serialization;
公共类DisableCamelCaseSerialization:属性,IControllerConfiguration
{
公共无效初始化(HttpControllerSettings controllerSettings,HttpControllerDescriptor controllerDescriptor)
{
var formatter=controllerSettings.Formatters.OfType().Single();
controllerSettings.Formatters.Remove(格式化程序);
formatter=新的JsonMediaTypeFormatter
{
SerializerSettings={ContractResolver=new DefaultContractResolver()}
};
controllerSettings.Formatters.Add(格式化程序);
}
}