我一直在使用 Spring boot 进行原型(prototype)设计,我在其中添加了对 spring-boot-starter-actuator
和 spring-boot-starter-data-rest
的依赖,并将我的测试命名为/info
的 REST 端点。应用程序运行没有任何错误,但是无法调用我的端点并且应用程序一直返回 404。
一段时间后,我发现执行器项目包含相同的端点 /info
并且基本上覆盖了我的自定义 RESTful 端点,因为我没有命名它。
我的问题是:一般情况下,有什么方法可以防止这种行为(意思是错误的 bean 冲突)?或者至少在发生这种情况时收到 WARN 消息。
预先感谢您的回答
最佳答案
您可以使用以下属性禁用 /info
执行器端点;
management.endpoint.info.enabled=false
如果您检查我在下面提供的源链接,实际上所有都可以禁用,或者您可以只启用某些;
By default, all endpoints except for shutdown are enabled. If you prefer to specifically “opt-in” endpoint enablement you can use the endpoints.enabled property.
为了记录此行为,在部署时您可以看到端点和相应的 bean,我想您可以从该日志中推断出来。但最好不要在执行器启用时使用相同的端点。
关于java - Spring Boot 执行器端点覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42803084/