![](/img/trans.png)
[英]Spring Boot Rest Web Service fetching multiple parameters in Get Request
[英]Spring Boot handling multiple parameters in a get request
我是使用 Spring 引導框架的新手。 我想創建一個@GetMapping,其中基於用戶在參數 Property1 Name(String) 或 Protery2 Designation(String) 或 Property3 Salary(Integer) 中輸入的內容,該方法應該能夠獲取基於一個或多個的員工列表特性。 我可以創建單獨的方法,但我不想這樣做。 我想做這樣的事情:
@GetMapping("/employee")
public List<Employee> getEmployee(Params parameters)
{
// Filter the list based on parameters provided and return the list
}
另外,我不明白如何處理參數,例如,如果它是一個整數,則只有一列,但如果用戶輸入字符串,則有兩列。 如果用戶沒有指定參數名稱,我必須處理。
您可以使用@RequestParam Map<String, String> params
將所有參數綁定到一個變量
例如
@RequestMapping(value="/params", method = RequestMethod.GET)
public ResponseEntity getParams(@RequestParam Map<String, String> params ) {
System.out.println(params.keySet());
System.out.println(params.values());
return new ResponseEntity<String>("ok", HttpStatus.OK);
}
您可以使用@RequestParam
注解定義三個參數並檢查哪一個是非空的:
@GetMapping("/employee")
public List<Employee> getEmployee(@RequestParam(defaultValue = "empty") String name, @RequestParam(defaultValue = "empty") String designation, ....
{
// check which one is not empty and perform logic
if (!name.equals("empty")) {
// do something
}
}
關於用戶選擇哪個參數:您可以制作下拉菜單或簡單單選,用戶自己選擇搜索條件(以及每個條件由請求參數映射)。 例如:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.