首先本文所展示的参数接收的总结,都是基于Spring Boot框架而言的,不是一般传统方式使用request对象来完成参数的接收
简单参数的接收
对于简单参数的接收,在Spring Boot框架中,在Controller类中设置对应的处理方式时,只需要在方法形参中设置要接受的参数类型和名称即可,建议名称相同,就可以自动完成参数的接收,如果形参名称与请求传递来的参数名称不相同,就可以使用@RequestParam即可,示例如下:
图中所标记的name为请求中参数的名称,username在方法中设置接收该参数值(name)的名称
具体文章参照:(19条消息) 请求响应-简单参数的接受_熵240的博客-CSDN博客
实体参数的接收
实体参数的接收需要通过实体类对实体参数中的值进行封装,一般实体类创建在POJO文件夹下,实体类中的成员变量名称与所要封装的参数名称一致比较好方便完成数据的封装,在然后在Controller类对应方法中的形参设置为对应实体类对象,Spring Boot根据请求的内容自动绑定到实体类对象的属性上。
如果出现对象的组合的情况(即一个类的成员变量是另一个类的对象),则在对应的实体类中要加入另一个实体类对象,并且设置其set/get方法完成数据封装,在发送的请求中使用对象名.对象属性的方式来指定其传递来的参数值。具体示例参考:(19条消息) 请求响应-实体参数的接受_熵240的博客-CSDN博客
数组参数的接收
当一个请求中的一个参数具有多个值时,可以在控制类的方法中来定义一个数组接收参数的值,数组名称与参数名称一致比较好,在Java中,当你打印一个对象时,它会调用该对象的toString()方法来获取表示该对象的字符串。对于数组对象,默认的toString()方法会返回对象的引用地址。如果你想打印数组的内容,你可以使用Arrays.toString(数组名)
方法将数组转换为字符串,然后进行打印。
具体文章参照:(19条消息) 请求响应-数组集合参数的接受_熵240的博客-CSDN博客
集合参数的接收
使用集合接收参数与使用数组接收参数适用的情况是一致的,但在使用集合接收参数时,要使用@RequestParam绑定参数关系,Spring MVC 支持自动将请求参数转换为数组类型的参数,而无需显式指定 @RequestParam 注解。这种自动转换是由于 Spring MVC 的默认参数绑定行为所提供的。但是,如果你想要将请求参数绑定为 List<String> 类型而不是数组类型,就需要使用 @RequestParam 注解,以告诉 Spring MVC 将参数绑定为 List 类型的变量。综上所述,当方法参数声明为数组类型时,Spring MVC 会自动识别和转换请求中的多个参数值;而当方法参数声明为 List<String> 类型时,需要使用 @RequestParam 注解来显式指定参数的绑定方式。
具体文章参照:(19条消息) 请求响应-数组集合参数的接受_熵240的博客-CSDN博客
日期时间参数的接收
由于请求发送而来的时间数据的格式各不相同,所以要使用@DateTimeFormat注解完成日期参数格式的转换
具体文章参照:(19条消息) 请求响应-日期时间参数的接受_熵240的博客-CSDN博客
json参数的接收
发送json数据的请求方式是post,因为JSON格式的数据要存放到请全体中,而GET方法没有请全体。对于JSON格式的数据,也需要创建实体类来接收参数,其中实体类的成员变量名称与json数据的键名一致。便于完成数据的封装。在Controller类中的方法需要使用@RequestBody来标识实体类对象,即告诉使用哪一个实体类来封装json数据。
具体文章参照:(19条消息) 前期响应-json参数的接收_熵240的博客-CSDN博客
路径参数的接收
对于路径参数的接收,需要在Controller中对应的方法的请求路径中设置,使用{参数名}的方法来设置要接收的参数名称,然后在方法的形参中使用@PathVariable来指定要接收的参数类型与名称,将 URL 路径中的变量参数绑定到方法的参数上。
具体文章参照:(19条消息) 请求响应-路径参数的接收_熵240的博客-CSDN博客