前言
昨天我们讲到实体参数的数据请求响应,接下来,继续讲解剩下的数据请求响应方式。
数组集合参数
数组集合参数的使用场景:在HTML的表单中,有一个表单项是支持多选的(复选框),可以提交选择的多个值。
多个值的提交过程和一个值的提交过程一样,多个值也是一个值一个值的提交。
后端程序接收上述多个值的方式有两种:
-
数组
-
集合
1.1 数组参数
数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数
Postman测试:
1.2 集合参数
集合参数:请求参数名与形参集合对象名相同且请求参数为多个,@RequestParam 绑定参数关系。默认情况下,请求中参数名相同的多个值,是封装到数组。如果要封装到集合,要使用@RequestParam(注解)来绑定参数关系
Controller方法:
Postman测试:
日期参数
上述演示的都是一些普通的参数,在一些特殊的需求中,可能会涉及到日期类型数据的封装。 因为日期的格式多种多样(如:2022-12-12 10:05:45 、2022/12/12 10:05:45),那么对于日期类型的参数在进行封装的时候,需要通过@DateTimeFormat注解,以及其pattern属性来设置日期的格式。
-
@DateTimeFormat注解的pattern属性中指定了哪种日期格式,前端的日期参数就必须按照指定的格式传递。
-
后端controller方法中,需要使用Date类型或LocalDateTime类型,来封装传递的参数。
Postman测试:
JSON参数
在学习前端技术时,我们有讲到过JSON,而在前后端进行交互时,如果是比较复杂的参数,前后端通过会使用JSON格式的数据进行传输。 (JSON是开发中最常用的前后端数据交互方式)我们学习JSON格式参数,主要从以下两个方面着手:
1. Postman在发送请求时,如何传递json格式的请求参数
2. 在服务端的controller方法中,如何接收json格式的请求参数
Postman发送JSON格式数据(Postman测试):
注:所有属性和对象都要使用双引号包裹起来。
服务端Controller方法接收JSON格式数据(Controller方法):
-
传递json格式的参数,在Controller中会使用实体类进行封装。
-
封装规则:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数。需要使用 @RequestBody标识。
注:@RequestBody注解:将JSON数据映射到形参的实体类对象中(JSON中的key和实体类中的属性名保持一致)
路径参数
传统的开发中请求参数是放在请求体(POST请求)传递或跟在URL后面通过?key=value的形式传递(GET请求)。
在现在的开发中,经常还会直接在请求的URL中传递参数。例如:
上述的这种传递请求参数的形式呢,我们称之为:路径参数。
学习路径参数,主要掌握在后端的controller方法中,如何接收路径参数。
路径参数:
-
前端:通过请求URL直接传递参数
-
后端:使用{…}来标识该路径参数,需要使用@PathVariable获取路径参数
传递多个路径参数:
Postman测试:
Controller方法:
总结
至此,所有的数据请求方式就已经全部介绍了,如还有问题可以在评论区进行提问,到时大家一起解决,共同进步!拜拜,诸位。