如何使用自定义值覆盖 spring 启动运行状况端点?

How to override spring boot health endpoint with custom values?

我想用自定义 json 响应覆盖 Spring 启动健康端点。 我尝试使用 public class MyHealth implements HealthIndicator 但那是 return 一些值用 myHealth 对象包装

这实际上是我实现后得到的

{
  "status": "UP",
  "myHealth": {
    "name": "Integration Service",
    "version": "1.0",
    "_links": {
      "self": {
        "href": "http://localhost:8083/health"
      }
    }
  }
}

但这实际上是我想要的输出

{
  "name": "Integration Service",
  "version": "1.0",
  "status": "UP",
  "_links": {
    "self": {
      "href": "http://localhost:8083/health"
    }
  }
}

除非您完全覆盖 HealthEndpoint,否则恐怕您无法做到这一点。 /health 端点的全部意义在于它为您提供了一个标准结构,以便您可以以一致的方式监控事物。如果您添加自定义 HealthIndicator,它将 嵌套 ,正如您已经看到的那样。

如果你想完全改变输出格式,你可以创建自己的端点并做任何你想做的事情。