Springboot各种请求参数详解

本文介绍了Postman在前后端分离开发中的重要性,详细讲解了如何使用Postman创建请求、处理各种参数(简单、实体、数组、集合、日期和json),以及Springboot中的参数映射。特别强调了不同参数类型的处理方法和相关注解的使用。
摘要由CSDN通过智能技术生成

请求

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参数定义时
  • 路径参数定义时
  • 34
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot是一个开源的Java框架,用于简化Spring应用程序的开发和部署。Controller是Spring Boot中的一个重要组件,用于处理来自客户端的HTTP请求,并返回相应的响应。 在Spring Boot的Controller中,参数解析是将客户端请求中的参数值转换为Controller方法的参数的过程。Spring Boot支持多种参数解析方式,包括: 1. PathVariable:通过URL路径中的变量值进行参数解析。在Controller方法的参数列表中使用@PathVariable注解来指定变量名称,并通过在URL中使用{变量名}的方式来传递参数值。 2. RequestParam:通过URL中的查询字符串或表单参数进行解析。在Controller方法的参数列表中使用@RequestParam注解来指定参数名称,并通过URL中使用?参数名=参数值的方式来传递参数值。 3. RequestBody:通过请求体中的内容进行解析。在Controller方法的参数列表中使用@RequestBody注解来指定参数类型,并自动将请求体中的内容转换为对应的Java对象。 4. RequestHeader:通过请求头中的参数进行解析。在Controller方法的参数列表中使用@RequestHeader注解来指定参数名称,并根据请求头中的参数值进行解析。 5. CookieValue:通过请求中的Cookie进行解析。在Controller方法的参数列表中使用@CookieValue注解来指定参数名称,并根据请求中的Cookie值进行解析。 上述这些参数解析方式可以灵活地组合使用,在Controller方法的参数列表中可以同时使用多个注解来实现多种参数解析方式。这样可以方便地获取客户端请求中的各种参数值,并进行相应的处理和业务逻辑操作。 总而言之,Spring Boot的Controller中的参数解析功能使得处理客户端请求变得更加简单和灵活,开发者可以根据具体的需求选择合适的参数解析方式,并通过注解来指定参数的名称和类型,从而精确地获取和处理请求中的参数值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值