簡體   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