先说总结:
推荐使用@RequestBody,因为
1.除了Content_Type为application/x-www-form-urlencoded时不支持外,其余Content_Type都支持。
2.方便增加参数。比如通过map获取参数。当然你也可以在方法中用对象接收参数
Map<String,Object> maps = (Map<String, Object>) JSONObject.parse(requestBody);
Integer id = (Integer) maps.get("id");
3.前端调用组装参数比application/x-www-form-urlencoded方便。
Postman配置:Headers里需要设置为Content-Type 为application/json,
后台接收如下:
如果Headers是application/json,那么body格式有三种情况
1.选择了x-www-form-urlencoded,后台requestBody收到的就是“id=5”.
2.选择了raw JSON传参,后台收到的是{"id":5}
3.如果使用form-date方式传参,收到的是如下
----------------------------669147342757196955564012
Content-Disposition: form-data; name="id"
5
----------------------------669147342757196955564012--
此时。只有第二种情况是可行的。