Spring开发后端如何获取http请求体body中的json格式的数据
1.1 方法一 :通过 HttpServletRequest 获取
代码示例:
public static String receivePost(HttpServletRequest request) throws IOException, UnsupportedEncodingException {
// 读取请求内容
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine())!=null){
sb.append(line);
}
// 将资料解码
String reqBody = sb.toString();
return URLDecoder.decode(reqBody, HTTP.UTF_8);
}
1.2 通过 @RequestBody 获取(推荐)
-
这种方式需要先定义相应的类对象, 然后通过 @RequestBody 注解来获取请求体数据
-
可以直接使用 fastjson 的JSONObject 来接收, 如
@RequestBody JSONObject jsonObject
参考:
SpringBoot实战(四)获取接口请求中的参数(@PathVariable,@RequestParam,@RequestBody)