当前位置: 首页 > news >正文

【JavaWeb】Day29.SpringBootWeb请求响应——请求(二)

请求响应

4.数组集合参数

数组集合参数的使用场景:在HTML的表单中,有一个表单项是支持多选的(复选框),可以提交选择的多个值。

4.1 数组

数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数。

Postman测试:

4.2 集合

集合参数:请求参数名与形参集合对象名相同且请求参数为多个,@RequestParam 绑定参数关系

 默认情况下,请求中参数名相同的多个值,是封装到数组。如果要封装到集合,要使用@RequestParam绑定参数关系。

```java
@RestController
public class RequestController {//数组集合参数@RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "OK";}
}
```

Postman测试:

方式一: xxxxxxxxxx?hobby=game&hobby=java

方式二:xxxxxxxxxxxxx?hobby=game,java

5.日期参数

在一些特殊的需求中,可能会涉及到日期类型数据的封装。比如,如下需求:

因为日期的格式多种多样(如:2022-12-12 10:05:45 、2022/12/12 10:05:45),那么对于日期类型的参数在进行封装的时候,需要通过@DateTimeFormat注解,以及其pattern属性来设置日期的格式。

      @DateTimeFormat注解的pattern属性中指定了哪种日期格式,前端的日期参数就必须按照指定的格式传递。

       后端controller方法中,需要使用Date类型或LocalDateTime类型,来封装传递的参数。

Postman测试:

6.JSON参数

在前后端进行交互时,如果是比较复杂的参数,前后端通过会使用JSON格式的数据进行传输。 (JSON是开发中最常用的前后端数据交互方式)

学习JSON格式参数,主要从以下两个方面着手:

1. Postman在发送请求时,如何传递json格式的请求参数

2. 在服务端的controller方法中,如何接收json格式的请求参数

Postman发送JSON格式数据:

服务端Controller方法接收JSON格式数据:

  • 传递json格式的参数,在Controller中会使用实体类进行封装。
  • 封装规则:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数。需要使用 @RequestBody标识。
  •  @RequestBody注解:将JSON数据映射到形参的实体类对象中(JSON中的key和实体类中的属性名保持一致)

Postman测试:

7.路径参数

传统的开发中请求参数是放在请求体(POST请求)传递或跟在URL后面通过?key=value的形式传递(GET请求)。

在现在的开发中,经常还会直接在请求的URL中传递参数。例如:

http://localhost:8080/user/1        http://localhost:880/user/1/0

上述的这种传递请求参数的形式呢,我们称之为:路径参数。

路径参数:

- 前端:通过请求URL直接传递参数

- 后端:使用{…}来标识该路径参数,需要使用@PathVariable获取路径参数

Postman测试:

 

 传递多个路径参数:

Postman:

Controller方法:

~~~java
@RestController
public class RequestController {//路径参数@RequestMapping("/path/{id}/{name}")public String pathParam2(@PathVariable Integer id, @PathVariable String name){System.out.println(id+ " : " +name);return "OK";}
}
~~~
http://www.lryc.cn/news/331775.html

相关文章:

  • asf是什么格式的文件?用手机怎么打开?
  • picGo图床搭建gitee和smms(建议使用)
  • LeetCode | 数组 | 二分查找 | 35.搜索插入位置【C++】
  • Linux 给网卡配置ip
  • 【C语言】翻译环境与运行环境
  • ubuntu20.04执行sudo apt-get update失败的解决方法
  • 接口调用成功后端却一直返回404
  • 【Vmware】 debian 12 安装教程
  • YooAssets 使用相关
  • 精准扶贫管理系统|基于Springboot的精准扶贫管理系统设计与实现(源码+数据库+文档)
  • Flutter与iOS和Android原生页面交互
  • Chrome安装Vue插件vue-devtools
  • 内存和网卡压力测试
  • 法律行业案例法模型出现,OPenAI公布与法律AI公司Harvey合作案例
  • 详解Qt网络编程
  • docker版Elasticsearch安装,ik分词器安装,用户名密码配置,kibana安装
  • Python中的Requests库:HTTP请求的简单之道
  • [RK3566-Android11] 关于 a2dpsink -蓝牙支持接收播放/无PIN码连接
  • 玩机进阶教程-----高通9008线刷XML脚本修改备份 檫除的操作步骤解析
  • 前端路径问题总结
  • YOLOv8改进 | 低照度检测 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)
  • python的pip如何升级
  • Collection与数据结构 Stack与Queue(一): 栈与Stack
  • 内部类(来自类和对象的补充)
  • Android 高德地图
  • 代码随想录|Day31|贪心06|738.单调递增的数字
  • 机械制造学习笔记
  • Golang | Leetcode Golang题解之第3题无重复字符的最长子串
  • SWM341系列应用(上位机应用)
  • 【软件工程】详细设计(一)