文章目录
- 请求
- Postman
- **为什么需要Postman**
- **什么是Postman**
- **Postman使用教程**
- 请求参数
- 简单参数
- 实体参数
- 数组参数
- 集合参数![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/eba0ca80e3724412ae4c79af72b859c3.png#pic_center)
- 日期参数
- json参数
- 路径参数
- 总结
请求
Postman
为什么需要Postman
因为使用前后端分离的方式进行开发,前端和后端开发过程相互分离,只需要依照一起制定出的接口文档进行开发即可。
如果我们从浏览器中直接测试,发出请求给后端,等待后端的响应,那么将只能测试get请求,因为浏览器地址栏只能发出get请求
什么是Postman
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,常用于进行接口测试
Postman使用教程
1、创建Workspaces工作空间
2、点击“+”添加请求
3、输入请求的各项信息
- 请求方式(get、post等)
- 请求链接
- 请求参数(Params) Get请求设置参数位置
- 请求头(Headers)
- 请求体(Body)Post请求设置参数位置
4、点击"send"发送请求
5、查看响应数据的响应体(Body)
6、点击"save"保存请求,会保存输入的请求信息以及返回的响应信息
请求参数
思路是:
1.一参一值
简单参数原始方式:需要手动获取参数并且进行格式转化
——>简单参数Springboot方式:自动获取参数自动转化,但是需要变量名与请求参数名保持一致
——>简单参数Springboot方式+@RequestParam注释:可以不保持一致,但是如果一次传入的参数过多,则需要声明很多变量
——>实体参数:把变量全部打包成一个类里的属性
2.一参多值
数组参数
集合参数
3.特殊参数
- 日期参数
- json参数
- 路径参数
简单参数
- 原始方式
需要从Controller方法形参中声明HttpServletRequest对象,调用getParameter方法
缺点:
1、需要调用getParameter手动获取参数
2、需要自己进行参数的格式转换,因为getParameter方法默认返回String类型
- Springboot方式(请求参数名与方法形参变量名相同)
改正了原始方式的所有缺点,只要参数名与形参变量名相同,会自动接收参数,并且转换类型。
缺点:
1、参数名一定需要与形参变量名相同,否则无法正常接收,但是不会报错
- Springboot方式(请求参数名与方法形参变量名不同)
为了解决参数名一定需要与形参变量名相同的问题,在形参变量定义前使用@RequestParam(name=“参数名”)完成映射,当然如果一致的话,简单参数的传递是无需使用@RequestParam注解的。
实体参数
像简单参数一样一个一个定义形参变量过于麻烦,而且难以重用,可以直接声明一个类,存放那些需要的属性。
注意:请求参数名要与该类的属性名相同
而且如果该类的属性中有其他类的对象,则开始嵌套
数组参数
如果像下图一样,一个属性有多个值,怎么办?
引入数组参数:
- 请求参数名与形参数组名称相同
- 请求参数为多个
定义数组类型形参即可接受参数
集合参数
也可以封装到集合中,注意因为默认一参多值是封装到数组中的,所以想要封装到集合中需要增加一个注释:@RequestParam绑定传参数关系
日期参数
-
请求参数:值是日期,有多种形式,2022/12/12 10:05:00,2022年12月12日,10点05分45秒等
-
形参类型:LocalDateTime
-
格式转换:用@DateTimeFormat注解规定前端需要传递的日期格式
json参数
- Postman如何发送json格式的数据
点击Body——>点击raw——>选择json——>输入json格式的数据(“key”:value)
- 服务端如何接受json格式的数据
- 定义实体类接收
- 实体类的属性名与json数据的key一致
- 需要增加@RequestBody注解
路径参数
如果参数就在请求路径中怎么办?
- 在@RequestMappiing(url)中用{}标识参数部分
- 声明形参时增加@PathVariable注解
总结
目前需要注解的有:
- 简单参数变量名与参数名不一致时
- 集合参数定义时(因为默认封装到数组)
- 日期参数定义时(规定日期格式)
- json参数定义时
- 路径参数定义时