小编Ben*_*Ben的帖子

我如何区分两个端点,每个端点都有一个 PathVariable?

我正在开发一个 Spring Boot 应用程序。我有以下 REST 端点:

 @GetMapping(value = { "/person/{name}", "/person/{age}" })
 public PersonData getPersonData(@PathVariable(required = false) String name,
                                 @PathVariable(required = false) Integer age) {

}
Run Code Online (Sandbox Code Playgroud)

可以使用名称变量或年龄变量调用此端点,但它似乎无法区分它们。如果我调用'.../person/20',它不会调用“/person/{age}”,但它总是调用“/person/{name}”。

我知道我可以做这样的事情:

@GetMapping(value = { "/person/name/{name}", "/person/age/{age}" })
Run Code Online (Sandbox Code Playgroud)

但是,有没有其他方法可以在不向路径添加任何内容的情况下解决它?

java rest spring endpoint spring-boot

3
推荐指数
1
解决办法
57
查看次数

标签 统计

endpoint ×1

java ×1

rest ×1

spring ×1

spring-boot ×1