一、前后端数据交互格式要求

1.springboot http请求参数处理

请求方式

  • GET:用于查询
  • POST:用于插入
    • application/x-www-form-urlencoded:浏览器原生
      表单
    • multipart/form-data:表单上传文件
    • application/json:json字符串
    • text/xml:xml格式
  • PUT:用于更新
  • DELETE:用于删除

第一类请求路径参数注解

  • @PathVaribale:获取url中的数据 url/{id}
  • @RequetParam:获取请求参数的值 url?name=

第二类Body参数注解(没有大小限制)

  • @RequestBody:利用一个对象去获取前端传过来的数据(获取Body参数)
  • 技巧
    1. 前端:
    2. api=>
    3. headers:{'Content-Type':'application/json'},
    4. method:'post',
    5. data:data
    6. 后端:POST 请求
    7. @RequestBody Map<String,Object> map
    8. 后端用map接收注意linkedhashmap错误:
    9. 解决方案:
    10. map转成json,在转成对象(这种方式比较简单,很多json工具方法都有)
    11. 反序列化成对象
    12. import org.codehaus.jackson.map.ObjectMapper;
    13. import org.codehaus.jackson.type.TypeReference;
    14. List<XXX> list1 = (List<XXX>) map.get("list");
    15. ObjectMapper mapper = new ObjectMapper();
    16. List<XXX> list = mapper.convertValue(list1, new TypeReference<List<XXX>>() { });

万能JSON字符串穿透前后端(有大小限制)
【后端接收json字符串的时候使用(@RequestBody String data) String类型,然后用JSONObject转换成对应的实体类 给逻辑层去处理。 前端请求头里设置了传给后端的数据类型是application/json,JSON.stringify()把待传数据转成JSON字符串发给后端。】