前言
友友们好呀,今天来分享一下对于各种数据类型传参的问题,今天陪伴我们的云海
目录
前言
数组集合传参
补充
日期参数
补充
Json格式数据传参
补充
路径参数
补充
今日分享
数组集合传参
类似于我们之前进行的简单的参数传递,我们把实参写在我们的方法内部充当形式参数,这里的数组传参就是把数组名进行直接当形参,然后直接获取属性;
@RestController@RequestMapping("/shuzu")public String shuzu(String[] hobby){System.out.println(Arrays.toString(hobby));return "ok";}
这里我们的服务器上的代码就是如此,运行之后我们就可以实现对应的数据传递啦
对于集合其实差不多和数组保持一致,但是在对应的参数上必须保持传递的参数名称一致。
这里其实还不如就用数组呢!!除此之外我们对于参数也需要设置对应的注解来绑定参数
@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)。
@RestController
@RequestMapping("/jihe")public String jihe(@RequestParam List<String> hobby){System.out.println(hobby);return "ok";}
大家可以看到如果我们不去写那个注解,就会报错200;默认每一个元素都是在数组当中,相当于各自分散的,加上注解后我们就可以把他们绑定到一起,就可以利用集合来进行读取啦
补充
对于注解@RequestParam的解释,我也是半吊子,但是这篇文章写的very good,大家可以参考
注解@RequestParam_@requestparam()-CSDN博客
日期参数
日期参数无非就是传递对应的日期格式或者时间格式什么的,注意的是这里面也是需要对应的注解的,首先是在javaAPi那一块我们学的时间类,之后配合注解实现对于时间格式的限定
差不多就是这三类,文字隔开,-符号隔开,/符号隔开
对于代码我们就是如此简单的几行,相信大家可以明白
@RestController
@RequestMapping("/time")public String time(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime dateTime){System.out.println(dateTime);return "ok";}
这里的运行的服务器端进行的数据请求事以-符号来进行结束的。
补充
注解@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")这里是对于日期格式的限定,直白的话就是格式对了我就解析,不对我就报错,这里我的解释是口头理解的,具体的大家可以参考此文
Spring @DateTimeFormat日期格式化时注解浅析分享-CSDN博客
Json格式数据传参
正是如此对应的数据格式,
@RestController@RequestMapping("/json")public String p(@RequestBody proj pr){System.out.println(pr);return "ok";}
对应的我们的服务器端代码,我们就是可以直接设置post数据请求,然后我们利用对应的json格式就可以直接进行数据传输;
运行结果截图我们可以看到符合我们的输入
补充
@RequestBody对于post的数据请求来进行解释数据绑定,大多数情况依然是post请求,并且可以将json数据格式封装到对应的注解当中,具体的细节大家参考这篇文章;
@RequestBody注解-CSDN博客
路径参数
路径参数顾名思义就是我们在网址访问路径上的参数类型,可以包含一个或者多个参数,但是要求对应的参数名称与请求参数名称保持一致,以下是代码展示
//路径参数@RequestMapping("/word/{id}/{name}")public String word(@PathVariable Integer id,@PathVariable String name){System.out.println(id+""+name);return "ok";}
我们这里传递对应的http://localhost:8080/word/1/tom
对于1/tom就是id/name来实现参数传递
补充
@PathVariable属于对应的路径占位符,可以把路径绑定到对应的参数当中
当然啦具体的解释还是要参考专业的文章@PathVariable(路径变量)注解详解_@pathvariable注解的参数-CSDN博客
今日分享
没办法发那个战双啦,只能在最后面发,我喜欢战双。
→如果只是一味遵从既定的筛选规则,那么这条规则将会是我们永远也走不出的牢笼。