如何覆盖Spring Boot运行状况响应代码

Déb*_*ora 6 java spring-boot spring-boot-actuator

如何根据执行器的状态来覆盖执行器的默认/运行状况响应状态代码:DOWN,UP,UNKNOWN等等?例如,如果健康状态为“ UP”,则响应代码应为200。如果DOWN:400,未知300。是否可以解决此问题?

注意:我不需要自己的健康端点。相反,现有的需要被覆盖。

Dar*_*the 8

在 Spring boot 2.x 中,这些是内置状态及其默认值,您可以将其覆盖为所需的相关代码。

management.endpoint.health.status.http-mapping.UP=200
management.endpoint.health.status.http-mapping.UNKNOWN=200
management.endpoint.health.status.http-mapping.DOWN=503
management.endpoint.health.status.http-mapping.OUT_OF_SERVICE=503
Run Code Online (Sandbox Code Playgroud)

或自定义映射

management.endpoint.health.status.http-mapping.DOWN=400

或在 yaml 中,

management.endpoint.health.status.http-mapping.UP=200
management.endpoint.health.status.http-mapping.UNKNOWN=200
management.endpoint.health.status.http-mapping.DOWN=503
management.endpoint.health.status.http-mapping.OUT_OF_SERVICE=503
Run Code Online (Sandbox Code Playgroud)

在 Spring boot 1.x 中,这些是应用了自定义状态的属性,

endpoints.health.mapping.DOWN=400
endpoints.health.mapping.UP=200
endpoints.health.mapping.UNKNOWN=300
Run Code Online (Sandbox Code Playgroud)

或在 yaml 中,

management: 
   endpoint:
       health:
          status:
            http-mapping:
              UP: 200
              UNKNOWN: 200
              DOWN: 503
              OUT_OF_SERVICE: 503
Run Code Online (Sandbox Code Playgroud)

Spring Boot 当前执行器运行状况文档


Sto*_*ica 5

状态代码是通过应用程序属性配置的。这些是默认值:

management.health.status.http-mapping:
  UP: 200
  DOWN: 503
  OUT_OF_SERVICE: 503
  UNKNOWN: 200
Run Code Online (Sandbox Code Playgroud)

对于Spring Boot 1.x,该属性endpoints.health.mapping改为。

使用您建议的代码是一个坏主意,因为它们已经意味着其他事情。合理的变化是设置UNKNOWN: 500,如果你希望你的上游系统以不同的方式对待它UP