ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

webservice自定义拦截器获取请求header值用于返回参数或验证信息并在返回值添加header参数

2020-12-23 11:35:07  阅读:347  来源: 互联网

标签:返回 拦截器 webservice 自定义 header 添加 参数


  最近在给对接方写webservice接口,提供的接口需要把header里面的参数取出然后在返回的信息中添加header参数,所以这就需要我们从header中获取参数,在webservice中header的值可以有很多用途,有些程序可能会用来验证身份信息,或者做一些校验,返回给客户端的header一半也是用于做校验等,下面就介绍获取请求的header并封装返回header参数的方法。

  我搭建的项目使用的cxf,所以我们可以使用AbstractPhaseInterceptor来继承这个抽象类来自定义我们的拦截器,首先我们看到AbstractPhaseInterceptor已经有很多实现类,例如日志拦截器。

   cxf拦截器主要分为两类,一种是处理请求的拦截器InInterceptor,另一种是处理返回的拦截器OutInterceptor,这个从哪里能看到呢,在我们的法布类上可以看到EndpointImpl有这样两个方法

   首先我们先创建请求的拦截器

   这里会重写两个方法,第一个设置执行的时机,第二个拦截内容做对应逻辑操作Phase.PRE_PROTOCOL是拦截器执行的时机,PRE_PROTOCOL就是在协议处理阶段拦截内容,后面返回的拦截器也是一样,就不介绍了,具体可以看代码都有那些

  获取到你需要的header里的内容之后,根据你的业务做你对应的业务处理,比如验证信息,我这里就是将获取的值在添加到header中返回给客户端,所以我放到了线程中。下一步我们创建返回的拦截器:

   最后需要把创建的拦截器添加进来

   注意我们创建的拦截器只有添加进来才会执行

 

标签:返回,拦截器,webservice,自定义,header,添加,参数
来源: https://www.cnblogs.com/HuuuWnnn/p/14177635.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有