zoukankan      html  css  js  c++  java
  • & 设置Feign的Header信息

    设置Feign的Header信息

    两种方式

    1.在方法参数前面添加@RequestHeader注解

    @PostMapping(value = "/getStuDetail")
    public ReturnInfo getStudentDetail(@RequestBody Map map,@RequestHeader(name = "id") String id);
    

    使用@RequestHeader(name = "id")可以传递动态header属性

    2.实现RequestInterceptor接口,设置Header(所有Feign请求)

    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.context.request.RequestContextHolder;
    import org.springframework.web.context.request.ServletRequestAttributes;
    import feign.RequestInterceptor;
    import feign.RequestTemplate;
    
    @Configuration
    public class FeignConfiguration implements RequestInterceptor {   
          @Override    
          public void apply(RequestTemplate template) {       
                ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();       
                HttpServletRequest request = attributes.getRequest();        
                Enumeration<String> headerNames = request.getHeaderNames();       
                if (headerNames != null) {           
                      while (headerNames.hasMoreElements()) {            
                            String name = headerNames.nextElement();             
                            String values = request.getHeader(name);            
                            template.header(name, values);            
                      }            
                }   
          }
    }
    //configuration = FeignConfiguration.class===================
    @Component@FeignClient(value = "xxxxxxxxx",fallback = XxxxxServiceHystric.class ,configuration = FeignConfiguration.class)
    public interface XxxxxService {
    }
    
  • 相关阅读:
    vue学习之router
    vue学习之组件
    xshell操作
    Webstorm快捷操作
    javascript判断节点是否在dom
    影子节点 shadowDOM
    虚拟节点操作——DocumentFragment
    理解浏览器的历史记录
    浏览器渲染
    web请求流程
  • 原文地址:https://www.cnblogs.com/doagain/p/11087925.html
Copyright © 2011-2022 走看看