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

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

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值