HttpServletRequest获取body内容(字符串/二进制)详解

获取HTTP字符串body

String getBodytxt(HttpServletRequest request) {
	BufferedReader br = request.getReader();
	String str, wholeStr = "";
	while((str = br.readLine()) != null){
		wholeStr += str;
	}
	return wholeStr;
}

获取HTTP二进制body

private String getBodyData(HttpServletRequest request) {
	StringBuffer data = new StringBuffer();
	String line = null;
	BufferedReader reader = null;
	try {
		reader = request.getReader();
		while (null != (line = reader.readLine()))
			data.append(line);
	} catch (IOException e) {
	} finally {
	}
	return data.toString();
}

@RequestBody获取body

@RequestMapping(value = "/testurl", method = RequestMethod.POST)
@ResponseBody
public ServiceResult TestUrl(HttpServletRequest request,
	@RequestBody JSONObject jsonObject){
   String username =  jsonObject.get("username").toString();
   String pwd = jsonObject.get("pwd").toString();
}

@RequestBody 可以使用JSONObject, Map ,或者ObjectDTO绑定body。 

@RequestParam获取body

@RequestMapping(value = "/testurl", method = RequestMethod.POST)
@ResponseBody
public ServiceResult TestUrl(HttpServletRequest request,@RequestParam("username")String username,
@RequestParam("pwd")String pwd)  {
  String txt = username + pwd;
}

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。