java - 当 RequestMapping 中的最后一个 PathVariable 只有

标签 java spring-mvc

我正在尝试将请求映射到 Spring Controller ,但它没有按预期工作

当我尝试/simple/test/something/..... 时出现 404 错误 我的映射如下 @RequestMapping(path="/simple/test/{string1}/{string2}")

下面是我的代码

@RequestMapping(path = "/search/test/{string1}/{string2}", produces = APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public SearchResult search( @PathVariable String string1, @PathVariable Optional string2) {
    if (!query.isPresent()) {
        return service.getLastQueries(string1, string2);
    }
}

当 {string2} 包含/或仅 .... 时,我收到 404 错误。 例如 {string2} 是......或某物/事物

最佳答案

将输入参数设为Optional是不够的,还应该在@PathVariable注解中设置required=false

@PathVariable(required=false) Optional<String> string2

关于java - 当 RequestMapping 中的最后一个 PathVariable 只有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56396628/

相关文章:

Java commons-cli,带有可能值列表的选项

c# - 如何将这 4 个 SQL 表转换为 OO 类(Java 或 C#),但不使用 NHibernate/LINQ?

java - WebSphere v7.0 未部署 EJB

java - Spring Boot Web starter View 位置

java - Spring MVC 中的注解

java.lang.NullPointerException 查询错误

java - 从文本区域复制的文本在另一个文本编辑器中显示在一行上

java - 如何将操作系统环境变量连接到 Spring Web 应用程序项目中 application.properties 中的占位符?

spring - 如何从 Spring-cloud-config 客户端中的源属性文件中读取所有属性值

java - 如何在Spring Security xml中设置响应头?