开发者社区> 嗯哼9925> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用 ABAP 开发的一个基于 Web Socket 的小工具,能提高程序员日常工作效率
程序员区别于其他岗位的一个优势是,我们可以充分利用自己掌握的编程语言,将平日一些琐碎的,重复的日常工作,通过代码来实现自动化,从而省下更多的时间来投入到技术含量更高的工作中,提高工作效率。
14 0
Python开发自定义Web框架
接收web服务器的动态资源请求,给web服务器提供处理动态资源请求的服务。
10 0
深入解析HTTP(web开发详细理解原理)【JavaWeb】
深入解析HTTP(web开发详细理解原理)【JavaWeb】
19 0
【零基础学Python】后端开发篇第二十节--Python Web开发一:Web开发简介
【零基础学Python】后端开发篇第二十节--Python Web开发一:Web开发简介
25 0
Python Web开发(九):session|token 验证客户端请求
Python Web开发(九):session|token 验证客户端请求
43 0
Python Web开发(十):数据库表的关联
Python Web开发(十):数据库表的关联
19 0
Python Web开发(十一):ORM 对关联表的操作
Python Web开发(十一):ORM 对关联表的操作
16 0
+关注
4715
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载