Springboot各种请求参数详解

请求

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参数定义时
  • 路径参数定义时
  • 33
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值