Spring可选@PathVariable?

标签 spring spring-mvc

是否有可能以某种方式在 @ControllerAdvice 中获取@PathVariable 鉴于 PathVariable 仅出现在某些请求中?

如果这是在 Controller 中,我可以编写 2 个不同的 Controller 。但是 ControllerAdvice 始终适用于所有请求。我无法将 ControllerAdvice 仅应用于定义了 PathVariable 的 Controller 。

最佳答案

您可以注入(inject)路径变量的映射并检查 key 是否存在。

public void advise(@PathVariable Map<String, String> pathVariables) {
    if (pathVariables.containsKey("something")) {
        String something = pathVariables.get("something");
        // do something

    } else {
        // do something else
    }
}

关于Spring可选@PathVariable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25624096/

相关文章:

java - Spring 批处理 :How it works in distributed environemnt

java - Spring Integration - 控制自动启动

java - log4j.xml 加载不记录消息

java - 如何在Spring WebClient/DataBuffer中拦截http响应流量?

spring - 如何在 Spring 启动期间生成 HttpServletRequest 以进行 bean 初始化?

javascript - Spring Rest 和 jQuery Ajax 文件下载

java - 令人恼火的 Spring 表单/ Controller 中的空列表

java - 如何减少在多个地方使用的相同异常捕获操作的重复代码?

java - Spring Boot 无法正确渲染 View

java - DWR + Spring - 多个ajax过滤器不起作用