我正在尝试在 Spring Boot 2.0.2.RELEASE 应用程序中添加自定义执行器端点。我正在遵循官方指南、官方迁移指南和这篇文章。
我能够通过属性配置所有内容:隐藏/公开端点、更改基本路径等。一切正常,除了我的自定义端点 bean 没有被WebMvcEndpointHandlerMapping. 它根本没有出现在这些著名的日志记录行中:
EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator'
WebMvcEndpointHandlerMapping : Mapped "{[/actuator/health],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
WebMvcEndpointHandlerMapping : Mapped "{[/actuator/info],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
WebMvcEndpointHandlerMapping : Mapped "{[/actuator],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto protected java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.springframework.boot.actuate.endpoint.web.Link>> org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.links(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
Run Code Online (Sandbox Code Playgroud)
这三行是我得到的全部。我可以访问/actuator/health并/actuator/info没有任何问题,但不是我的自定义端点。我显然得到 404。
到目前为止我尝试过的:
management.endpoints.web.exposure.include=*我至少可以研究什么的任何想法?到目前为止,我发现的所有问题最终都没有意识到他们也需要 …
所以我有一个这样的控制器方法:
@RequestMapping(value = "/stuff, method = GET)
public StuffDTO getStuff(
@RequestParam(value = "stuffIds") List<Integer> ids) {
Run Code Online (Sandbox Code Playgroud)
我知道我可以提供这样的默认值:
@RequestParam(value = "1,2,3")
Run Code Online (Sandbox Code Playgroud)
但是如何将默认值设置为空列表,而不是处理null端点实现中的列表?