有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java前向标头变量Spring Boot

在我当前的项目中,我将一些请求转发给另一个微服务,并且我在头中接收到一个变量来标识调用者。我想把这封邮件发到另一家服务公司。我知道我可以在控制器中接收并在方法中作为参数添加,但我必须在代码的所有层中添加此变量

是否有一种方法可以接收此变量并在post中发送,而不将其作为变量传递

我目前的解决方案如下:

public ResponseEntity foo(@RequestHeader(value = "bar", required = false) final String bar){
     fooService.post(bar);
}

public class FooService(){

    private final RestTemplate restTemplate;

    public void post(Bar bar){
        ....
        restTemplate.postForEntity(...);
        ....
    }
}

有更多的层,这可能会使这种方法变得混乱


共 (1) 个答案

  1. # 1 楼答案

    我不确定我是否清楚您的问题,但您可以在一些自定义上下文类中设置此变量,该类将存储此变量,通过interceptor,您可以在rest模板post方法中设置此变量