小编Has*_*ain的帖子

在Feign客户端+ Spring Cloud中使用带有动态值的@Headers(Brixton RC2)

是否可以将动态值设置为标题?

@FeignClient(name="Simple-Gateway")
interface GatewayClient {
    @Headers("X-Auth-Token: {token}")
    @RequestMapping(method = RequestMethod.GET, value = "/gateway/test")
        String getSessionId(@Param("token") String token);
    }
Run Code Online (Sandbox Code Playgroud)

注册RequestInterceptor的实现会添加标头,但无法动态设置标头值

@Bean
    public RequestInterceptor requestInterceptor() {

        return new RequestInterceptor() {

            @Override
            public void apply(RequestTemplate template) {

                template.header("X-Auth-Token", "some_token");
            }
        };
    } 
Run Code Online (Sandbox Code Playgroud)

我在github上发现了以下问题,其中一个评论者(lpborges)试图在@RequestMapping注释中使用标题做类似的事情.

https://github.com/spring-cloud/spring-cloud-netflix/issues/288

亲切的问候

spring spring-cloud spring-cloud-netflix

28
推荐指数
3
解决办法
5万
查看次数