Usando @Headers com valores dinâmicos no cliente Feign + Spring Cloud (Brixton RC2)
É possível definir valores dinâmicos para um cabeçalho?
@FeignClient(name="Simple-Gateway")
interface GatewayClient {
@Headers("X-Auth-Token: {token}")
@RequestMapping(method = RequestMethod.GET, value = "/gateway/test")
String getSessionId(@Param("token") String token);
}
Registrar uma implementação do RequestInterceptor adiciona o cabeçalho, mas não há como definir o valor do cabeçalho dinamicamente
@Bean
public RequestInterceptor requestInterceptor() {
return new RequestInterceptor() {
@Override
public void apply(RequestTemplate template) {
template.header("X-Auth-Token", "some_token");
}
};
}
Encontrei o seguinte problema no github e um dos comentaristas (lpborges) estava tentando fazer algo semelhante usando cabeçalhos em@RequestMapping
anotação.
https://github.com/spring-cloud/spring-cloud-netflix/issues/288
Atenciosamente