【发布时间】:2026-02-08 03:15:02
【问题描述】:
通常在 Spring 中,我们可以通过以下方式检索路径变量:
final Map<String, String> pathVariables = (Map<String, String>) request
.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
这是我目前所做的。
控制器:
@Get(value = "/{variable}/anotherpath")
public Single<HttpResponse<ResponseESQ>> myController(String variable) {}
过滤器:
@Filter("/**")
public class myFilter implements HttpServerFilter {
@Override
public Publisher<MutableHttpResponse<?>> doFilter(HttpRequest<?> request, ServerFilterChain chain) {
// I need here to consume the path variable
request.getAttribute("variable")
}
}
我尝试使用:request.getAttributes(),但它不起作用。
我们如何在 Micronaut 中做同样的事情?
【问题讨论】:
-
我删除了我的答案,因为您的问题特别想从“...从请求中”检索它们,而我的答案没有解决。为噪音道歉。
-
没问题。我现在正在尝试不同的解决方案,例如:request.getAttributes() 但我还没有弄清楚。
-
可以通过请求绑定使用@PathVariable吗?
-
好的,我想我需要添加一些信息。我从过滤器中尝试。
-
成功后请为他人分享:)