【发布时间】:2023-03-10 12:51:01
【问题描述】:
我正在使用 SpringBoot Actuator 来返回应用程序的运行状况。
public class HealthMonitor implements HealthIndicator {
@Override
public Health health() {
int errorCode = check();
if (errorCode != 0) {
return Health.down().withDetail("Error Code", errorCode).build();
}
return Health.up().build();
}
public int check() {
return 0;
}
}
我看到下面的回复
{
"status": "UP",
"diskSpace": {
"status": "UP",
"free": 55020113920,
"threshold": 10485760
},
"db": {
"status": "UP",
"database": "Oracle",
"hello": "Hello"
}
}
我想返回类似于下面的响应
{status: "Healthy"}
有办法吗?
【问题讨论】:
-
检查
errorCode后返回您的自定义响应,而不是返回Health实例 -
在这种情况下我不应该实施 HealthIndicator 吗?有没有办法像我提到的那样使用 Health 实例返回自定义消息?
-
我认为
Health是一些普通的课程。我自己尝试过,我现在唯一能想到的方法是保护这个服务不被外部使用,并创建一个类似/customHealth的自定义服务,并在服务器上使用这个/health服务来获取自定义服务中的状态信息。 -
谢谢@11thdimension。请发布它作为答案,我会接受它
-
这只是一个建议。如果我确实实现了这一点,那么我会将其发布为答案,感谢您的考虑。如果您实施它,然后将其发布为有助于他人的答案。
标签: java spring spring-boot spring-boot-actuator