postman傳參的幾種格式
百度了好久,還是自己摸索出來的。。。
1.參數中有基本數據類型還有 list集合類型
public String addUserRole(@RequestParam("userId")Long userId, @RequestBody List<Long> roleIdList)
2. 參數中有基本數據類型,還有 Map<Long,List<Long>>這種類型
addRolePermission(@RequestParam("roleId") Long roleId, @RequestBody Map<Long, List<Long>> metaMap)
PostMan請求ObjectList、Map類型
Object參數傳遞
object包含一個spuId,一個skuList
List參數傳遞
一、簡單的參數參數傳遞 Controller
就普通的參數傳遞即可。
/** * 刪除Customer * 根據ID刪除 * @return */ @RequestMapping("deleteCustomerById") public Boolean deleteCustomerById(String id){ Boolean result = mongoService.deleteCustomer(id); return result; }
前后臺分離項目,使用Postman對寫好的接口進行測試,請求類型為Post需要向后臺傳遞List<String> list數據下面是后臺控制層的java代碼
@RequestMapping(value = "/del",method = RequestMethod.POST,produces = "application/json") public Result del(@RequestBody List<String> list)
Postman頁面的請求可以這么寫:
二、List和數組,組成形如List<String>等基本數據類型傳參
/** * 批量刪除 * @param ids * @return */ @RequestMapping("deleteCustomerByIds") public Boolean deleteCustomerByIds(@RequestParam("ids[]") List<String> ids){ Boolean result = mongoService.deleteCustomer(ids); return result; }
三、復雜List<Object>請求操作
/** * 批量刪除 * @param customers * @return */ @RequestMapping("deleteCustomerByCustomers") public Boolean deleteCustomerByCustomers(@RequestBody List<Customer> customers){ List<String> ids = new ArrayList<>(); ids.add("1234"); Boolean result = mongoService.deleteCustomer(ids); return result; }
實體類中引用了一個List,泛型為其他實體類
參數是List集合時,Postman中參數格式如下圖所示:
Postman傳入多個參數,請求異常Required request body is missing
如需要傳入一個String,一個List<String>
輸入參數后報錯:@RequestBody對象為空,異常Required request body is missing
直接攔截了入參為空的請求,設置@RequestBody(required = false)后,將不會攔截,可以在后端進行判斷
原因是兩個參數都使用了@RequestBody接收,正確做法應該是分別使用@RequestParam("id"),@RequestParam("list")指定參數
Map類型
Map<String,String>
在Body中選擇x-www-form-urlencoded的方式,將map中所需的key和value值輸入即可
Map< String, List<String> >
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/qq_34857390/article/details/97113009