zoukankan      html  css  js  c++  java
  • 61 RestTemplate调用前统一申请Token传递到调用的服务中

    如果项目中用的 RestTemplate 来调用服务提供的接口,可以利用 RestTemplate 的拦截器来传递 Token,代码如下所示。

    @Component
    public class TokenInterceptor implements ClientHttpRequestInterceptor {
        @Override
        public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)
                throws IOException {
            System.err.println("进入RestTemplate拦截器");
            HttpHeaders headers = request.getHeaders();
            headers.add("Authorization", System.getProperty("fangjia.auth.token"));
            return execution.execute(request, body);
        }
    }
    

    将拦截器注入 RestTemplate,代码如下所示。  

    @Configuration
    public class BeanConfiguration {
        @Autowired
        private TokenInterceptor tokenInterceptor;
        @Bean
        @LoadBalanced
        public RestTemplate getRestTemplate() {
            RestTemplate restTemplate = new RestTemplate();
            restTemplate.setInterceptors(Collections.singletonList(tokenInterceptor));
            return restTemplate;
        }
    }
  • 相关阅读:
    HTTP
    jQuery
    BOM与DOM
    Page类成员
    Web用户自定义控件
    ASP.NET服务端基本控件介绍
    ASP.NET中的验证控件
    ASP.NET数据绑定控件
    ASP.NET中的母版页
    ASP.NET缓存 Cache
  • 原文地址:https://www.cnblogs.com/jrkl/p/14442570.html
Copyright © 2011-2022 走看看