我有一个用 spring boot 编写的休息服务。我想在启动后获取所有端点。我怎样才能做到这一点?为此,我想在启动后将所有端点保存到数据库中(如果它们尚不存在)并使用它们进行授权。这些条目将注入到角色中,角色将用于创建令牌。
原文由 barbakini 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个用 spring boot 编写的休息服务。我想在启动后获取所有端点。我怎样才能做到这一点?为此,我想在启动后将所有端点保存到数据库中(如果它们尚不存在)并使用它们进行授权。这些条目将注入到角色中,角色将用于创建令牌。
原文由 barbakini 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要 3 个步骤来公开所有端点:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
在 Spring Boot 2 中,Actuator 禁用了大多数端点,默认情况下仅有的 2 个可用:
/health
/info
如果要启用所有端点,只需设置:
management.endpoints.web.exposure.include=*
更多详情,请参考:
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html
顺便说一句,在 Spring Boot 2 中,执行器通过将其与应用程序模型合并来简化其安全模型。
更多详细信息,请参考这篇文章:
https://www.baeldung.com/spring-boot-actuators
原文由 karl li 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
2 回答11.5k 阅读✓ 已解决
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
您可以在应用程序上下文的开头获取 RequestMappingHandlerMapping。
或者,您也可以使用 Spring boot actuator(即使您没有使用 Spring boot,您也可以使用 actutator),它公开另一个端点(映射端点),它在 json 中列出所有端点。您可以点击此端点并解析 json 以获取端点列表。
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#production-ready-endpoints