spring-data-jpa Spring获取Map仅通过@请求参数进行区分

fnvucqvd  于 2022-11-10  发布在  Spring
关注(0)|答案(2)|浏览(180)

我将对象用户定义为:

@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。

368yc8dk

368yc8dk1#

是的,基本上,您可以配置请求Map,以便在特定请求参数存在时进行匹配。https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestmapping-params-and-headers有关详细信息,请参阅www.example.com。

at0kjp5o

at0kjp5o2#

@GetMapping(“/users”)public用户getUserByName(用户名){...}

相关问题