gpt4 book ai didi

java - 在spring拦截器中获取请求映射对象,获取实际的url字符串模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:26 26 4
gpt4 key购买 nike

可能很难解释为什么,但我有这种情况,我需要获取当前请求的 url 的请求 url 映射字符串。

Like if I have a GET URL as "/Test/x/{number}" 
I want to get "/Test/x/{number}" not "/Test/x/1"

我可以在拦截器中获取实际声明的url字符串吗?

如果这是可能的,我怎样才能做到这一点

最佳答案

您可以实现一个 HanderInterceptor 来拦截、前置或后置、请求和内省(introspection)被调用的方法。

public class LoggingMethodInterceptor implements HandlerInterceptor {
Logger log = LoggerFactory.getLogger(LoggingMethodInterceptor.class);

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

HandlerMethod method = (HandlerMethod) handler;

GetMapping mapping = method.getMethodAnnotation(GetMapping.class);

log.info("URL is {}", Arrays.toString(mapping.value()));

return true;
}
}

这将输出,URL is [/hello/{placeholder}]

完整示例可在此处找到,https://github.com/Flaw101/spring-method-interceptor

您可以添加更多逻辑来仅内省(introspection)某些方法、某些类型的请求等。

关于java - 在spring拦截器中获取请求映射对象,获取实际的url字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51352320/

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