1.用postman测试时选择key-value形式传参(application/x-www-form-urlcoded),后台可用以下两种形式解析:
a.RequestParam注解形式
@RequestMapping("/lock/lock_members")
public RespEntity findUserList(@RequestParam ("lockId") String param){
ArrayList<String> list = userServices.findUserList(param);
System.out.println("list=" + list);
return new RespEntity(RespCode.SUCCESS, list);
}
b. HttpServletRequest类request.getParameter方法直接获取
public RespEntity getPwdDetails(HttpServletRequest request){
String lockId = request.getParameter("lockId");
...
2.如需要传入json格式,postman选择Content-Type: application/json,后台解析json的两种方法:
a.请求参数为自定义model加注解@RequestBody
public RespEntity login(@RequestBody ReqUser reqUser) { //使用reqUser模型来接受,而不用User
User user = new User();
if(reqUser != null) {
user.setName(reqUser.getName());
user.setPassword(reqUser.getPassword());
}
return new RespEntity(RespCode.SUCCESS, user);
}
b.通过IO流读入转成json解析
@RequestMapping("/lock/cardDetails")
public RespEntity getCardDetails(HttpServletRequest request){
HashMap<String, String> map = new HashMap<String, String>();
try {
InputStreamReader inputReader = new InputStreamReader(request.getInputStream(), "UTF-8");
BufferedReader bufferReader = new BufferedReader(inputReader);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = bufferReader.readLine()) != null) {
sb.append(line);
}
JSONObject json = JSONObject.fromObject(sb.toString());
String lockId = json.getString("lockId");
String userId = json.getString("userId");
String cardLabel = json.getString("cardLabel");
LockInfo cardInfo = userServices.getCardDetails(lockId, userId, cardLabel);
map.put("cardLabel", cardInfo.getCard_label());
map.put("cardTime", cardInfo.getCard_time());
} catch (IOException e) {
e.printStackTrace();
}
return new RespEntity(RespCode.SUCCESS, map);
}