web-dev-qa-db-ja.com

SpringBootヘルス応答コードをオーバーライドする方法

アクチュエータのデフォルトの/ヘルスレスポンスステータスコードをその状態に基づいてオーバーライドする方法:DOWN、UP、UNKNOWNなど?たとえば、ヘルス状態が「UP」の場合、応答コードは200になります。DOWNの場合:400、不明300。これを達成するための回避策はありますか?

注:自分のヘルスエンドポイントは必要ありません。代わりに、既存のものをオーバーライドする必要があります。

7
Débora

春のブートドキュメントから、これはいくつかのプロパティの変更によって簡単に達成できます。

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#writing-custom-healthindicators

endpoints.health.mapping.DOWN=400

endpoints.health.mapping.UP=200

endpoints.health.mapping.UNKNOWN=300

4
Darren Forsythe

ステータスコードは アプリケーションプロパティ を介して設定されます。これらはデフォルトです:

management.health.status.http-mapping:
  UP: 200
  DOWN: 503
  OUT_OF_SERVICE: 503
  UNKNOWN: 200

Spring Boot 1.x の場合、プロパティは代わりにendpoints.health.mappingです。

提案したコードを使用することは、すでに他のことを意味しているため、お勧めできません。アップストリームシステムでUPとは異なる方法で処理する場合は、UNKNOWN: 500を設定するのが妥当な変更です。

3
OrangeDog

ドキュメント が更新されたようです。ヘルスチェックステータスマッピングの現在のプロパティは次のとおりです。

management.health.status.http-mapping.DOWN=400
management.health.status.http-mapping.UP=200
2
Erik Pragt