我是Spring Cloud Feign的新手,正在尝试发送服务提供商要求的HTTP头。下面是代码片段
@FeignClient(name = "authentication", url = "http://localhost:3000/api")
public interface AuthenticationService {
@PostMapping(value = "/login")
JsonNode login(@RequestHeader("Origin") String origin, @RequestBody LoginParams parameters);
}
当我尝试发送Origin
报头时,服务器没有接收到这个报头。但其他报头如referer
或x-access-token
在服务器成功接收。
我也试过使用RequestInterceptor
,但没有成功发送Origin
作为标头。
@Component
public class HeaderInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
requestTemplate.removeHeader("origin");
requestTemplate.header("origin", "http://amjad.localhost:3000/");
}
}
任何提示或帮助都将不胜感激。
干杯!
我在OpenFeign也遇到过类似的问题。"Origin"默认情况下,由于使用旧的Java http客户端,header被阻止。
更改为OkHttp客户端后,"Origin"是发送。