我将对象用户定义为:
@Entity
public class User {
private String name;
}
在我的控制器中,我想要映射以按名称查询用户并查询所有用户。我想做这样的事情:
@GetMapping("/users")
public User getUsers() {...}
@GetMapping("/users")
public User getUserByName(@RequestParam String name) {...}
制作:
错误是: {GET /api/users}:已经有“userController”bean 方法...映射
在 Spring 中是否有可能仅通过查询参数(@RequestParam)来区分 GET URL 映射?
Edit_1:我想避免为每个不同的 getBy 变体创建端点。所以我希望所有不同的 getBy 都只有一个 getBy URI(用于姓名、用户名、电子邮件、地址...)
如果你使用
params
元素,我想你可以做到。@GetMapping("/users")
public User getUsers() {...}
@GetMapping(value = "/users", params = "name")
public User getUserByName(@RequestParam String name) {...}
@GetMapping("/users") public User getUserByName(User user) {...}