我正在开发在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用于不同的控制器,我们只是在类的顶层使用它们。
我搜索了很多,但我发现只有多个路由。我想为不同的控制器配置不同的配置。