request body 中的json参数不能通过 getParameter(“xxx”) 方式获取,需要自己在数据流中读取。
// 适用:Content-Type:application/json;参数为json的格式化转换
public JSONObject getParamToJson() throws IOException {
// 当前的请求request上下文对象
HttpServletRequest request = getRequest();
StringBuilder sb = new StringBuilder();
InputStream inputStream = request.getInputStream();
// 注意参数编码:不指定可能会出现乱码
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String s = "";
while ((s = bufferedReader.readLine()) != null) {
// sb.append('\n').append(line);
sb.append(s);
}
return JSONObject.parseObject(sb.toString());
}