java - Spring Boot 执行器端点覆盖

标签 java spring spring-boot dependency-injection spring-boot-actuator

我一直在使用 Spring boot 进行原型(prototype)设计,我在其中添加了对 spring-boot-starter-actuatorspring-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.

source

为了记录此行为,在部署时您可以看到端点和相应的 bean,我想您可以从该日志中推断出来。但最好不要在执行器启用时使用相同的端点。

关于java - Spring Boot 执行器端点覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42803084/

相关文章:

java - Eclipse 可以将 if 语句转换为 if-else-if

java - 数据库中超过一个用户的 Spring Security 身份验证不起作用

java - 无法禁用 csrf Spring boot

java - Spring boot JPA 获取列表并向其中添加项目会引发错误

spring-boot - 如何在 kotlin 的 Spring Boot 测试中从伴随对象访问 lateinit 变量?

spring-boot - Thymeleaf 模板未在 if 条件内渲染参数值

java - 如何实现一个继承了接受自身参数的接口(interface)的类?

java - 在 Java 中为什么不加宽然后框?

SimpleDateFormat 中的 Java 日期模式在 SQL 数据库中不起作用

java - 如何使用具有多种响应类型的 RestTemplate?