gpt4 book ai didi

spring-boot - 如何将 RequestHeader 与执行器端点一起使用?

转载 作者:行者123 更新时间:2023-12-03 23:45:25 28 4
gpt4 key购买 nike

我已经自定义了我的执行器/信息端点,我想使用标题中的信息来授权 RestTemplate调用另一个服务。
我在这里实现 InfoContributor:
https://www.baeldung.com/spring-boot-info-actuator-custom
我想接受 contribute() 中的请求 header 方法。对于任何用户定义的 REST 端点,我可以定义一个 @RequestHeader参数和访问头。
但不幸的是,InfoContributorcontribute()方法只接受一个参数。
如何访问 contribute() 中的请求 header 方法?

最佳答案

  • 您可以 Autowiring HttpServletRequest进入您的 InfoContributor
  •     import javax.servlet.http.HttpServletRequest;

    @Component
    public class Custom implements InfoContributor {

    @Autowired
    private HttpServletRequest request;

    @Override
    public void contribute(Info.Builder builder) {
    ...
    request.getHeader("your header");
    ...
    }
    }
  • 或者您可以使用 RequestContextHolder得到它
  • @Component
    public class Custom implements InfoContributor {

    @Override
    public void contribute(Info.Builder builder) {
    ...
    HttpServletRequest request =
    ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes())
    .getRequest();
    request.getHeader("your header");
    ...
    }
    }

    关于spring-boot - 如何将 RequestHeader 与执行器端点一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63072154/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com