在开发基于SpringBoot框架的web工程时,我们一般通过@RequestBody注解,把post请求体中的数据自动封装到实体类中。但是,有时候,post请求体中的数据并不适合转化成实体类,根据场景不同,我们需要直接从请求体中读取数据,方法如下:
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
public void get(HttpServletRequest request, HttpServletResponse response) throws ParseException {
int len = request.getContentLength();
byte[] callbackBody = new byte[len];
try {
ServletInputStream sis = request.getInputStream();
sis.read(callbackBody, 0, len);
} catch (IOException e) {
e.printStackTrace();
}
//接收json数据
JSONObject jsonObject = JSONObject.parseObject(new String(callbackBody));
}