如何访问Health端点的查询参数?

时间:2014-10-20 16:04:53

标签: spring-boot

我正在尝试将查询参数传递给健康状况端点。这可能吗? 例如,http://localhost/health?id=asdfasdf

我想访问health()方法中的id。

@Override
public Health health() {
   //access id here.
}

谢谢,

杰里

1 个答案:

答案 0 :(得分:1)

Spring Boot端点旨在通过多种不同的技术向客户端公开。例如,开箱即用支持HTTP和JMX。这意味着在端点中使用特定于HTTP的内容并不是一个好主意。

那就是说,如果真的希望提供一个特定于HTTP的HealthIndicator,那么你应该能够使用Spring的RequestContextHolder来获取ServletRequestAttributes当前请求的实例。在那里,您可以访问HttpServletRequest并致电getQueryString()

String queryString = (((ServletRequestAttributes) RequestContextHolder
            .getRequestAttributes()).getRequest().getQueryString());