@PathVariable和@RequestParam传参为空问题及解决
作者:眉梢i 时间:2023-01-06 02:27:00
@PathVariable和@RequestParam传参为空
@RestController
public class UserController {
@GetMapping(value = {"/xie/{name}","/xie"})
public String xie(@PathVariable(value = "name",required=false) String name){
return "my name is:"+name;
}
@GetMapping("/xie1")
public String xie1(@RequestParam(value = "name",required = false) String name){
return "my name is:"+name;
}
}
访问地址:
http://localhost:8080/xie/qiao
http://localhost:8080/xie
http://localhost:8080/xie1
http://localhost:8080/xie1?name=qiao
小结一下
required = false属性设置前端可以不传数据,当在使用@RequestParam时直接写上,不需要改变地址映射,当使用@PathVariable时,需要在地址映射上面写入多个地址映射。而且必须写required = false,不然报500
使用@pathvariable与@requestparam碰到的问题
1.@pathvariable
可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {x} 占位符可以通过@PathVariable("x") 绑定到操作方法的入参中。
@GetMapping("/test/{id}")
public String test(@PathVariable("id") String id){
System.out.println("test:"+id);
return SUCCESS;
}
可以看出使用@pathvariable注解它直接从url中取参,但是如果参数是中文就会出现乱码情况,这时应该使用@requestparam注解
2.@requestparam
它是直接从请求中取参,它是直接拼接在url后面(demo?name=张三)
@GetMapping("/demo")
public String test(@requestparam(value="name") String name){
System.out.println("test:"+name);
return SUCCESS;
}
注:如果参数不必须传入的话,我们从源码中可以看出两者required默认为true,如图:
所以我们可以这样写,只写一个例子
@GetMapping("/demo")
public String test(@requestparam(value="name", required = false) String name){
System.out.println("test:"+name);
return SUCCESS;
}
来源:https://blog.csdn.net/qq_45225798/article/details/120473289
标签:@PathVariable,@RequestParam,传参
0
投稿
猜你喜欢
Spring Boot + Thymeleaf + Activiti 快速开发平台项目 附源码
2023-11-23 08:23:43
Java使用Socket通信传输文件的方法示例
2023-04-16 21:52:31
AndroidStudio修改Code Style来格式化自定义标签的xml文件方式
2023-08-07 00:43:21
详解Java分布式系统中一致性哈希算法
2022-10-11 18:01:05
MybatisPlus使用Wrapper实现条件查询功能
2021-11-29 10:21:08
Java中session存储Users对象实现记住密码
2021-06-27 10:46:59
spring循环注入异常问题的解决方案
2021-06-29 02:21:18
C语言进制转换代码分享
2021-10-16 15:39:23
SpringCloud HystrixDashboard服务监控详解
2021-12-16 03:35:47
Java中ShardingSphere分库分表实战
2023-11-24 09:20:37
美化java代码,从合理注释开始
2022-01-18 16:32:47
详解Android四种存储方式
2022-06-26 21:51:35
SpringCloud之@FeignClient()注解的使用方式
2022-05-16 04:22:40
关于@Entity和@Table注解的用法详解
2022-05-15 15:29:04
Java 栈与队列实战真题训练
2021-06-11 01:46:08
Android开发之全屏与非全屏的切换设置方法小结
2021-07-05 04:10:13
通过Session案例分析一次性验证码登录
2023-04-27 06:25:51
详解Java实现缓存(LRU,FIFO)
2022-04-24 13:35:26
WPF自定义实现IP地址输入控件
2022-02-24 05:35:36
利用Android两行代码真正杀死你的App
2023-04-07 17:15:46