[英]Spring GetMapping differentiated by @RequestParam only
我有 object 用户定义为:
@Entity
public class User {
private String name;
}
在我的 controller 中,我想要映射以按名称查询用户并查询所有用户。 我想做这样的事情:
@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(对于名称,用户名,email,地址......)
是的,基本上您可以配置请求映射,以便在存在特定请求参数时匹配。 有关详细信息,请参阅https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestmapping-params-and-headers 。
@GetMapping("/users") 公共用户 getUserByName(@RequestParam(required = false) 字符串名称) {...}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.