HttpServletRequest获取POST请求参数3种方法
request.getInputStream()
private static String getPostData(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();
}
request.getInputStream()执行一次后(可正常读取body数据),之后再执行就无效了。
@RequestBody
@RequestMapping(value = "/test", 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
@RequestMapping(value = "/test", method = RequestMethod.POST)
@ResponseBody
public ServiceResult TestUrl(HttpServletRequest request,@RequestParam("username")String username,
@RequestParam("pwd")String pwd) {
}
