针对不同控制器的不同WebAPiConfig

时间:2018-05-24 06:52:54

标签: c# asp.net asp.net-web-api

我正在开发在ASP.NET Web API 2中开发的REST API。我在App_Start文件夹中有以下WebAPiConfig。

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
        SystemDiagnosticsTraceWriter traceWriter = config.EnableSystemDiagnosticsTracing();
        traceWriter.IsVerbose = true;
        traceWriter.MinimumLevel = TraceLevel.Debug;
        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{docType}/{id}",
            defaults: new { docType = RouteParameter.Optional, id = RouteParameter.Optional }
        );
        config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
    }
}

我们有很多具有许多属性的实体,所以我所做的就是在配置中使用以下代码行来忽略所有 NULL 值。

  

config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};

它适用于我们的AngularJS前端。最近,我们正在为我们的产品部分开发Android应用。为此,我们制作了一个单独的控制器,只能从Android应用中调用。

由于某种原因,我需要向应用程序发送具有完整属性(不忽略NULL)的JSON。

问题是如果我省略上面提到的配置,它将返回完整属性(对于Web前端使用NULL)。我正在寻找的是,有不同的WebApiConfiguration用于不同的控制器,我们只是在类的顶层使用它们。

我搜索了很多,但我发现只有多个路由。我想为不同的控制器配置不同的配置。

0 个答案:

没有答案