java - 用逗号分隔的 @PathVariables 映射的 Rest 端点

标签 java spring rest spring-web

我有 @RestController@RequestMapping("/api/my-resource") .我有@GetMapping用于提取特定实体。

@GetMapping(value = "/{firstId},{secondId}")
public ResponseEntity<MyResourceDTO> findMyResource(
                      @PathVariable Long firstId, @PathVariable String secondId) {

    //here I have firstId == null and secondId == null
}

如果我替换 ,/一切正常,但要求不是使用另一个 / .

我可以确认,我可以进入这个方法,但是@PathVariable s 被映射为 null。是否Spring支持这种映射吗?我做错了什么?

我想实现类似于 this 的东西, 但我必须使用 Spring .

编辑:

我已经看到了 List 的解决方案但我不想使用它,因为 ID 的类型不同,所以它不是重复的。我正在使用 <spring.version>4.3.6.RELEASE</spring.version>

最佳答案

使用当前的 Spring 版本,您可以尝试使用 _ 作为分隔符,它应该可以正常工作。

我在 Spring 文档中读过一次,但现在找不到链接,一旦找到就会添加它。

关于java - 用逗号分隔的 @PathVariables 映射的 Rest 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45817685/

相关文章:

Spring MVC 嵌套对象验证

java - Hibernate JPA 父子映射

angularjs - Grails spring-security-rest 身份验证被拒绝 : Dynamic method get<Artefact>Class(artefactName)

java - 所有业务逻辑都在存储过程中

java - JFreeChart - 在 CombinedDomainXYPlot 中显示/隐藏子图

Java 小程序可排序列表

java - 为目标 'className' 实例化类型 'destinationName' 的应用程序范围实例时出错

rest - 为什么在 API 场景中 HTTP 内容协商优于显式参数?

javascript - Nodejs 休息服务

java - 使用 Jackson Mapper 有选择地将 JSON 数据的一部分映射到嵌套类