繁体   English   中英

Spring GetMapping 仅由 @RequestParam 区分

[英]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) {...}

生产:

  • api/用户
  • api/users?name= myName

错误是:{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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM