【发布时间】:2020-06-01 10:12:00
【问题描述】:
从 spring-boot v1.3 迁移到最新的 spring-boot v2.2.4 后,我们失去了在管理端口下拥有自定义端点的能力。
在我们将自定义端点声明为:
@Component
public class CacheEndpoint implements MvcEndpoint {
...
@Override
public String getPath() {
return "/v1/cache";
}
...
// mappings goes here
由于 MvcEndpoint 已从 spring-boot 执行器中删除,现在我们需要做下一步:
@Component
@RestControllerEndpoint(id = "cache")
public class CacheEndpoint {
...
// mappings goes here
不幸的是,我们失去了为自定义管理端点提供自定义根路径的选项(之前是 /v1/)
为了向后兼容,我们仍然希望在/ 基本路径下有默认的执行器端点,例如health、metrics、env..。例如host:<management_port>/health,但同时我们仍然希望在 /v1/ 路径下支持我们的自定义端点,例如host:<management_port>/v1/cache
我尝试了很多东西,googled 甚至更多,但还没有成功。
有没有办法做到这一点?
【问题讨论】:
标签: spring-boot endpoint spring-boot-actuator