目前总结几种情况:
一.post请求方式下(所有参数在请求体中):
1.采用json的数据格式(Content-Type: application/json; charset=utf-8),在后端可用save(@RequestBody DeviceData deviceData)函数接收。
请求参数:
{
"tSerimber":"343",
"tTerature":4,
"tHumity":123,
"tRaill":35
}
2.如果采用文本形式(Content_Type: application/x-www-form-urlencoded;charset=UTF-8),则需要采用select(@RequestParam Map<String, Object> map)函数接收。当然这种接收格式也可以接收json参数形式的请求。
请求参数:
tTempure=4&tRnfall=35&tSerimber="23"&tHudity=35
3.如果是采用原始的就收方式,接收函数是:save(HttpServletRequest req),则需要将数据流解析出,组织成自己需要的数据,如:
@PostMapping("/save")
public void save(HttpServletRequest req) {
JSONObject aray= new JSONObject();
BufferedReader br;
try {
br = new BufferedReader(new InputStreamReader((ServletInputStream) req.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
aray= JSONObject.parseObject(sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
二.get的请求方式(所有参数在请求链接中):
1.在采用select(@RequestParam Map<String, Object> map)函数接收。
2.是采用原始的就收方式,接收函数是:save(HttpServletRequest req),直接采用req.getParameter(“name”)获取到请求参数。