友友们好呀,今天来分享一下对于各种数据类型传参的问题,今天陪伴我们的云海
目录
类似于我们之前进行的简单的参数传递,我们把实参写在我们的方法内部充当形式参数,这里的数组传参就是把数组名进行直接当形参,然后直接获取属性;
- @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
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博客
正是如此对应的数据格式,
- @RestController
- @RequestMapping("/json")
- public String p(@RequestBody proj pr)
- {
- System.out.println(pr);
- return "ok";
- }
对应的我们的服务器端代码,我们就是可以直接设置post数据请求,然后我们利用对应的json格式就可以直接进行数据传输;
运行结果截图我们可以看到符合我们的输入
@RequestBody对于post的数据请求来进行解释数据绑定,大多数情况依然是post请求,并且可以将json数据格式封装到对应的注解当中,具体的细节大家参考这篇文章;
路径参数顾名思义就是我们在网址访问路径上的参数类型,可以包含一个或者多个参数,但是要求对应的参数名称与请求参数名称保持一致,以下是代码展示
- //路径参数
- @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博客
没办法发那个战双啦,只能在最后面发,我喜欢战双。
→如果只是一味遵从既定的筛选规则,那么这条规则将会是我们永远也走不出的牢笼。