Spring开发后端如何获取http请求体body中的json格式的数据

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 获取(推荐)

  1. 这种方式需要先定义相应的类对象, 然后通过 @RequestBody 注解来获取请求体数据

  2. 可以直接使用 fastjson 的JSONObject 来接收, 如@RequestBody JSONObject jsonObject

参考:

SpringBoot实战(四)获取接口请求中的参数(@PathVariable,@RequestParam,@RequestBody)

spring接收json字符串的两种方式

上一篇:RequestBodyAdvice全局配置请求参数


下一篇:springboot 请求List<object>和返回List<Object>,已经json转换