Spring Boot执行器:更改/health的格式

3

最近我将spring-boot-starter-actuator更新到2.2.2版本,当我调用/health端点时,我得到了以下结果:

{
    "groups": [],
    "status": {
        "code": "UP",
        "description": ""
    }
}

替代方案:

{
    "status": "UP"
}

我不知道出现这种情况的原因。有任何想法吗?或者我如何将输出的JSON重新格式化为原始格式?不覆盖HealthIndicator,只重新格式化。

先行致谢。

1个回答

7

Spring Actuator 2.2 健康端点 JSON 文档指出:

/actuator/health 端点通过将一级元素中的 details 重命名为 components 来更改生成的 JSON 格式。这有助于区分由 HealthIndicator 返回的实际细节和构成组合健康的组件指示器。

由于此更改,执行程序媒体类型已从 application/vnd.spring-boot.actuator.v2+json 升级到 application/vnd.spring-boot.actuator.v3+json。如果您使用需要消耗旧格式的工具,则可以使用 HTTP Accept: 头和 v2 媒体类型 application/vnd.spring-boot.actuator.v2+json

此外,如果您想查看与健康相关的所有文档以及什么是?如何自定义健康指标,请查看当前健康信息


谢谢!但是会有任何方法将新格式转换为旧格式吗? - tristobal
我找到了问题的根源。我创建了一个@ControllerAdvice来创建我的项目所需的JSONP结构,正是这个组件干扰了执行器响应。 - tristobal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接