如何为类似端点命名 REST 资源(findById / findByEmail)?

问题描述 投票:0回答:1

我有 2 个端点,如下所示,但我无法使用这样的端点 url:

@GetMapping("/{email}")
public ResponseEntity<Void> findByEmail(@PathVariable String email) {
}
@GetMapping("/{id}")
public ResponseEntity<Void> findById(@PathVariable long id) {
}

我应该使用类似

@GetMapping("mail/{email}")
的东西吗?

java spring spring-boot rest
1个回答
0
投票

是的,为每个端点使用不同的路径是避免冲突的好方法。您可以将 @GetMapping 注释与每个端点的唯一路径一起使用,例如 @GetMapping("/email/{email}") 用于 findByEmail 方法,@GetMapping("/id/{id}") 用于 findById 方法。

因此,当请求以 URL /{email} 或 /{id} 形式传入时,Spring 框架可以根据不同的路径值区分这两个端点。

© www.soinside.com 2019 - 2024. All rights reserved.