.net core webapi教程-IResultFilter使用详解
IResultFilter过滤器一个比较常见的使用场景就是接口返回Json格式的统一处理,实现方式首页创建一个类继承自Attribute,IResultFilter,并实现IResultFilter接口的OnResultExecuting、OnResultExecuted两个方法,OnResultExecuting方法在Action执行后执行,然后在执行OnResultExecuted方法。
具体代码实例如下:创建CustomResultFilterAttribute类继承自Attribute, IResultFilter方法,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public class CustomResultFilterAttribute : Attribute, IResultFilter { public void OnResultExecuting(ResultExecutingContext context) { if (context.Result is JsonResult) { JsonResult result = (JsonResult)context.Result; context.Result = new JsonResult( new AjaxResult() { Success= true , Message= "Ok" , Data = result.Value }); } Console.WriteLine( "CustomResultFilterAttribute.OnResultExecuting" ); } public void OnResultExecuted(ResultExecutedContext context) { Console.WriteLine( "CustomResultFilterAttribute.OnResultExecuted" ); } } |
controller代码如下:
1
2
3
4
5
6
7
8
9
|
[CustomResultFilter] public IActionResult Index2() { this ._Logger.LogInformation($ "index被执行了" ); return Json( new { Id=123, Name= "123" }); } |
返回结果如下:
猜您可能还喜欢
- .net core webapi教程-Swagger请求参数设置默认值(1686)
- .net core webapi教程-设置返回Json格式与Model大小写一致(1157)
- .net core webapi教程-设置日期型字段返回Json格式(1121)
- .net core webapi教程-IActionFilter使用详解 (1076)
- .net core webapi教程-配置 Swagger 显示接口注释及描述信息(1056)
- .net core webapi教程-Swagger请求参数通过属性特性设置默认值(922)
- .net core webapi教程-Filter全局注册、控制器注册如何排除某些Action方法使其不生效(857)
- .net core webapi教程-IExceptionFilter、IAsyncExceptionFilter使用详解 (842)
- .net core webapi教程-使用log4net写文本日志(772)
- .net core webapi教程-使用log4net写sqlserver数据库日志 (702)
评论列表
发表评论
文章分类
文章归档
阅读排行
- 1. Windows Server 2008 R2永久激活及Chew-WGA v0.9下载(12740)
- 2.Visual Studio 2017中安装visualSVN及使用详解(4861)
- 3.完美解决iis下JWplayer提示Error loading media: File could not be played错误(3756)
- 4.asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现(2978)
- 5.Android avax.net.ssl.SSLPeerUnverifiedException: No peer certificate 解决方法(httpClient支持HTTPS的访问方式)(2828)
- 6..Net Mvc中使用Jquery EasyUI控件讲解(一)表格控件datagrid使用介绍(2689)
- 7.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(三)登录模块开发(2592)
- 8.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(七)权限管理模块之系统菜单动态生成(2559)
- 9. asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(六)权限管理模块之初始数据准备(2207)
- 10.asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发(八)权限管理模块之权限管理实现(2175)