web api添加拦截器

实现思路

1.标识控制器有拦截特性;

2.控制器拦截处理;

代码实现

1.标识控制器有拦截特性,代码:

1
2
3
4
5
[MyFilter]
public  string  PostFindUser([FromBody]Userinfo user)
{
     return  string .Format( "{0}是好人~" , user.Name);
}

2.控制器拦截处理,代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public  class  MyFilter : ActionFilterAttribute
{
 
     public  override  void  OnActionExecuting(HttpActionContext actionContext)
     {
         base .OnActionExecuting(actionContext);
         //获取请求参数
         WebApiTest.Controllers.Userinfo user = (WebApiTest.Controllers.Userinfo)actionContext.ActionArguments[ "user" ];
 
         //TODO:业务判断
         if  (user.Name ==  "小明" //请求终止,进行调整或者内容输出
         {
             //HttpContext.Current.Response.Redirect("~/home/index");
             HttpContext.Current.Response.Write( "{\"id\":1,\"name\":\"小明\"}" );
             //创建响应对象,初始化为成功,没有指定的话本次请求将不会被拦截
             actionContext.Response =  new  HttpResponseMessage(System.Net.HttpStatusCode.OK);
         }
     }
 
}

 



本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/5827029.html,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值