我将对象用户定义为:
@Entity
public class User {
private String name;
}
在我的控制器中,我希望有一个Map,可以按名称查询用户,也可以查询所有用户。我想做的事情如下:
@GetMapping("/users")
public User getUsers() {...}
@GetMapping("/users")
public User getUserByName(@RequestParam String name) {...}
生产:
- API/用户
- api/用户?名称=* 我的名称 *
错误为:{GET /api/用户}:已经有'userController' Bean方法...已Map
在Spring中是否有可能仅通过查询参数(@RequestParam)区分GET URLMap?
Edit_1:我希望避免为每个不同的getBy变体创建端点,所以我希望所有不同的getBy(名称、用户名、电子邮件、地址...)都只有一个getBy URI。
2条答案
按热度按时间368yc8dk1#
是的,基本上,您可以配置请求Map,以便在特定请求参数存在时进行匹配。https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestmapping-params-and-headers有关详细信息,请参阅www.example.com。
at0kjp5o2#
@GetMapping(“/users”)public用户getUserByName(用户名){...}