post请求读取request body json格式请求参数

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

你可能感兴趣的:(#,java,json,java,request)