gpt4 book ai didi

spring-boot v2 执行器选择器

转载 作者:行者123 更新时间:2023-12-04 14:42:29 27 4
gpt4 key购买 nike

我正在尝试关注博客文章:

https://spring.io/blog/2017/08/22/introducing-actuator-endpoints-in-spring-boot-2-0#comment-4050095879

我已经实现了这样的执行器端点:

@Component 
@Endpoint(id = "test/filter/configurator")
@RequiredArgsConstructor
public class AdvisorFilterConfigurator {

private final AdvisorFilterConfig filterConfig;

@ReadOperation
public Boolean rewrite(@Selector Boolean enable) {
filterConfig.setEnable(enable);
return filterConfig.isEnable();
}
}

如果我尝试访问 http://localhost:9992/admin/test/filter/configurator/true它说缺少参数:启用。请参阅随附的屏幕截图。

missed-parameter

我只能通过这种方式访问​​该端点:
http://localhost:9992/admin/test/filter/configurator/ {anystring}?启用=真

我做错了什么还是执行器有问题?

非常感谢,希望尽快收到您的来信

最佳答案

“缺少参数”位的发生是因为您没有使用 -parameters 编译代码。如 described in the documentation .

如果你没有,你应该在日志中看到这样的东西

2018-08-21 10:35:21.098 INFO 78181 --- [ main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/test/{arg0}],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)



一旦你确定代码是用 -parameters 编译的你应该看到这样的:

2018-08-21 10:34:20.802 INFO 77977 --- [ main] s.b.a.e.w.s.WebMvcEndpointHandlerMapping : Mapped "{[/actuator/test/{enable}],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)



请注意,在第一种情况下,选择器是 {arg0} (当信息不可用时自动生成的参数名称)而在第二个中它是 {enable} .

如果您使用 Maven 和 spring boot 父级 ( mvn clean spring-boot:run ),您也可以从命令行运行该应用程序,因为它负责启用 -parameters自动地。

我还创建了 #14159检查我们如何改进该错误消息。

关于spring-boot v2 执行器选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51942794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com