Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.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
C# 如何修复此webapi路由配置?_C#_Asp.net Web Api - Fatal编程技术网

C# 如何修复此webapi路由配置?

C# 如何修复此webapi路由配置?,c#,asp.net-web-api,C#,Asp.net Web Api,我在WebApiConfig.cs中编写了这段代码,它的行为与预期不符。例如:json的驼峰式大小写,不包括空值的属性 我需要在下面的代码片段中找到任何缺失或不正确的代码 这是一个带有WebApiConfig.cs的web应用程序,我正在尝试配置它 json的驼峰式大小写,并从响应中排除空值的属性 当前,响应对象没有json的驼峰式大小写,并且包含具有空值的属性 public static void Register(HttpConfiguration config) {

我在WebApiConfig.cs中编写了这段代码,它的行为与预期不符。例如:json的驼峰式大小写,不包括空值的属性

我需要在下面的代码片段中找到任何缺失或不正确的代码

这是一个带有WebApiConfig.cs的web应用程序,我正在尝试配置它 json的驼峰式大小写,并从响应中排除空值的属性

当前,响应对象没有json的驼峰式大小写,并且包含具有空值的属性

public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();
        var jsonFormatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;

        jsonFormatter.SerializerSettings.Formatting = Formatting.Indented;
        jsonFormatter.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
        jsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
        jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

        config.Formatters.Add(jsonFormatter);
        config.Formatters.Remove(config.Formatters.XmlFormatter);

        config.Routes.MapHttpRoute(
           name: "DefaultApi",
           routeTemplate: "api/{controller}/{id}",
           defaults: new { id = RouteParameter.Optional }
       );
    }
提前谢谢你的帮助

使用传递到Register方法中的HttpConfiguration

public static void Register(HttpConfiguration config)
{
    config.MapHttpAttributeRoutes();

    config.Formatters.Remove(config.Formatters.XmlFormatter); 
    var jsonFormatter = config.Formatters.JsonFormatter;

    jsonFormatter.SerializerSettings.Formatting = Formatting.Indented;
    jsonFormatter.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
    jsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
    jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

    config.Routes.MapHttpRoute(
       name: "DefaultApi",
       routeTemplate: "api/{controller}/{id}",
       defaults: new { id = RouteParameter.Optional }
   );
}