前置知识

浏览器提交请求参数的方式3种

  • form-date
  • x-www-form-urlencoded
  • raw(json)

form-data、x-www-form-urlencoded都是表单数据,后者不支持文件上传

@RequestParam 与 @RequestBody 与 @PathVariable 详解

@RequestParam — from 表单形式取值
app软件里面常用下面⬇️
@RequestBody — json 形式取值

@PathVariable 是用请求路径获取值

@RequestBody 不支持Get请求

主要用来接收Json,前端不能使用GET方式提交数据,而是用POST方式进行提交。

{
    "templateId": "AAAAAAAA",
    "templateTitle": "货物配送信息",
    "templateContent": "模版内容。。。。。。。。。。。"
}

Postman测试示例:

点击Body -> 点击raw -> 点击Json

@RequestBody一个参数无法获取数据解决方案 不支持Get

如果接口只有一个参数非对象(比如String ID或者Integer ID),不可以传递变量名ID,但可以直接把数据映射到参数上。如果你传递{“ID”:”1″}的话,实际接收但是{“ID”:”1″}。注意如果前端请求头是:application/json的话。要么前端换application/form-data,要么我们将对象(哪怕只有一个属性,也不能直接使用String ID。)且使用@RequestBody注解包起来!不然没有任何办法获取真实的有效数据!

@RequestParam

参数需要放在是form-data,传递Json无法获取值