Spring Boot后台接口开发接收参数的形式

版权声明:转载望注明地址 https://blog.csdn.net/x_san3/article/details/81316440

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);
	}

猜你喜欢

转载自blog.csdn.net/x_san3/article/details/81316440