当前位置: 首页 > 知识库问答 >
问题:

如何将RequestHeader与执行器endpoint一起使用?

拓拔嘉颖
2023-03-14

我已经定制了我的执行器/信息endpoint,并且我想使用来自头的信息授权对另一个服务的RestTemplate调用。

我在这里实现了InfoContributor:https://www.baeldung.com/spring-boot-info-acture-custom

我想接受contribute()方法中的请求头。对于任何用户定义的RESTendpoint,我都可以定义@requestheader参数并访问头。

但不幸的是,InfoContributorContribute()方法只采用一个参数。

如何访问contribute()方法中的请求头?

共有1个答案

翟曦
2023-03-14
  • 您可以将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启动执行器endpoint? 我可以看到大多数的@ReadOperation和@WriteOperation,但我看不到基本URL在哪里得到支持,也看不到什么技术支持创建http://localhost:8080/actuator'终点。 我的项目确实显示了JSON(我想那是什么?)当我导航到地址http://localhost:80

  • 我希望所有执行器endpoint(在文档中描述)都可用。在文档之后,添加了启动器启动器依赖项和属性,但大多数endpoint不可用(HTTP 404)。 唯一可用的endpoint是,但它显示无用的信息: 添加属性。 添加了依赖项: 获取/执行器的结果 启用执行器endpoint的最小设置是什么?

  • 我在Ubuntu 14.04中安装了phpbrew以使用PHP5.4。它工作得很好,但当我尝试使用composer时除外,composer会忽略phpbrew并安装与PHP5.5相关的依赖项。 有没有办法强制composer与phpbrew config兼容?我试图在我的作曲家中添加:php:“5.4”。json,但是它说这个要求在我的php版本中是不可能的。

  • 我是Micronaut框架的新手,我正在尝试使用entitymanager创建我的存储库。我这样创建了我的存储库 我使用这个类实现接口并注入entitymanager 问题是我一直有这个错误: PS:我已经启用了注释处理

  • 我正在尝试将composer与我的WampServer一起使用。 我所有文件的路径都是,但当我运行composer时,它会将供应商文件和其他东西安装到其他地方。 我甚至不知道我的项目在哪里,我也不能改变我的项目在哪里的路径。我已经尝试了所有的方法,但它似乎仍然没有在我的项目文件夹中安装供应商文件。