web Api自定义部分Action的JSON格式输出
2020-12-13 04:41
标签:style blog http color 使用 数据 昨天项目中要部分Api的JSON格式需要特殊处理。最开始直接重写controller的JSON方法。经测试,当action直接返回数据的时候,不会调用Json方法。 然后找了各种方法,都不行。在群里问了。直到看到群友发的一个直接移除所有API的JSON格式方法的时候。图片如下: 然后就想到了Api的ActionFilterAttribute。就解决了自己的需求。 上代码。懒得写说明。 由于我使用的MVC版本Configuration没办法直接得到JsonFormatter,所以只好使用循环来取了! 在Action上配置如上的Filter就OK了。 web Api自定义部分Action的JSON格式输出,搜素材,soscw.com web Api自定义部分Action的JSON格式输出 标签:style blog http color 使用 数据 原文地址:http://www.cnblogs.com/chongsha/p/3843965.html 1 public class AppFilterAttribte : ActionFilterAttribute
2 {
3 public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
4 {
5 foreach (var formatter in actionContext.ControllerContext.Configuration.Formatters)
6 {
7 JsonMediaTypeFormatter jsonFormatter = formatter as JsonMediaTypeFormatter;
8 if (jsonFormatter != null)
9 {
10 jsonFormatter.SerializerSettings.ContractResolver = new AppContractResolver(); //自己需要的处理方式
11 break;
12 }
13 }
14 base.OnActionExecuting(actionContext);
15 }
16 }