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


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

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

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

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

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

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

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

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

  • 相关阅读:
    最火的.NET开源项目[转]
    ExtJs4.1目录结构介绍和使用说明[转]
    mvc4 Forms验证存储 两种登录代码
    微服务 第九章 springboot 使用NoSql数据库:redis
    【数据挖掘】关联分析之Apriori(转载)
    C语言面试
    10.15习题2
    java 执行linux命令
    servlet tomcat eclipse
    002_监测ssl证书过期时间
  • 原文地址:https://www.cnblogs.com/HuuuWnnn/p/14177635.html
Copyright © 2020-2023  润新知