问题描述:
前后端分离,前端采用axios向后端传递json数据,其数据放在Request Payload中。后端未使用SpringMVC,无法使用注解@RequestBody,如何获取前端传来的信息?
封装如下工具类:
public class getRequestBody {
public String getStringFromStream(HttpServletRequest req) {
ServletInputStream is;
try {
is = req.getInputStream();
int nRead = 1;
int nTotalRead = 0;
byte[] bytes = new byte[10240];
while (nRead > 0) {
nRead = is.read(bytes, nTotalRead, bytes.length - nTotalRead);
if (nRead > 0)
nTotalRead = nTotalRead + nRead;
}
String str = new String(bytes, 0, nTotalRead, "utf-8");
return str;
} catch (IOException e) {
e.printStackTrace();
return "";
}
}
}
可通过如下方式获取信息:
String data = new MyRequestBody().getStringFromStream(request);
这里的data可以是一个JSON字符串。