前端请求参数->HTTP编码->SpringMVC接收参数过程的匹配

1.前端请求参数->HTTP编码->SpringMVC接收参数

参数格式
  1. 前端参数数据格式

    1. Object objec = {key:value}
    2. key1=value1&key2=value12 (keyvalue字符串)
    3. JSON.stringfy(object) => “{key:value}”(json字符串)
  2. 后端SpringMVC接收参数类型
    1. @RequestBody注解接收要求无法进入方法体
      1. Json字符串
      2. application/json
      3. Post方法请求
    2. @RequestParam注解
    3. 无注解(以下结果默认无注解接收)
请求过程(Post请求)
Http接收参数编码(请求头:Content-type)
  1. 默认编码 application/x-www-form-urlencoded; charset=UTF-8 (该编码方式可以传输处了Json字符串以外数据)

    1. 前端参数为obejct或者keyvalue字符串类型,都将以下编码格式传输

      浏览器默认URL编码格式:

      Source:

      dept%5BdeptName%5D=%E6%89%80%E6%9C%89%E9%83%A8%E9%97%A8&

      URL encoded:

      dept%5BdeptName%5D: %E6%89%80%E6%9C%89%E9%83%A8%E9%97%A8

      Decoded:

      dept[deptName]: 所有部门

    2. 前端参数为Json字符串将以 {“dept”:{“deptId”:1,“deptName”:“所有部门”} json对象格式传输

      后台无法解析数据

  2. application/json 传输格式为json格式(该编码方式必须配合@Requestbody注解参数接收)

    1. 前端参数为obejct或者keyvalue字符串将以Source的格式传输但SpringMVC后台无法解析
    2. 前端参数为 Json字符串将 {“dept”:{“deptId”:1,“deptName”:“所有部门”} 传输同样无法解析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章