SpringMVC使用@PathVariable接收参数过程解析

作者:cuisuqiang 时间:2021-09-03 20:52:41 

PathVariable 映射 URL 绑定的占位符

带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义

通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。

使用MVC时,总是出现一些问题,当然都是使用造成的。

今天遇到一个问题,使用@PathVariable接收路径传递来的参数,可是访问时总是给500错误。

网上查了一下,有人说是不能带点符号,最后确定不是这个问题。

最后看到一个人说,使用@PathVariable时,参数接收要使用基本类型,比如我的代码:


@RequestMapping("/{reqKey}/req.do")
@ResponseBody
public ResponseEntity<String> ordersBack(
   @PathVariable String reqKey,
   @RequestParam(value="intVal") Integer intVal,
   @RequestParam(value="strVal") String strVal) throws Exception{
 return new ResponseEntity("ok", HttpStatus.OK);
}

这里面的intVal 我写成了int,现在改为Integer就可以了。

这里你给 required=false 是不行的,因为如果你不需要,这里Spring会给一个Null默认值,而你的类型如果是int,那肯定会出错。

你也可以使用defaultValue,这样Spring就不会去注入Null值,一样也不会出错。

综上,使用@PathVariable时注意两点:

1:参数接收类型使用基本类型

2:不用基本类型时,给defaultValue值

来源:https://www.iteye.com/blog/cuisuqiang-2064391

标签:Spring,MVC,PathVariable,参数
0
投稿

猜你喜欢

  • java8到java15的新功能简介

    2023-07-28 02:18:18
  • Gradle快速安装及入门

    2021-11-25 09:33:28
  • 解决nacos项目启动报错:Connection refused: no further informa问题

    2023-08-16 16:55:41
  • SpringBoot 利用thymeleaf自定义错误页面

    2023-11-29 08:29:55
  • 浅谈mybatis中SQL语句给boolean类型赋值问题

    2023-01-19 15:15:42
  • Java自定义实现链队列详解

    2023-06-22 12:47:31
  • SpringBoot基于Sentinel在服务上实现接口限流

    2023-11-27 17:19:25
  • flutter material widget组件之信息展示组件使用详解

    2023-06-22 08:45:35
  • C#(int)中Convert、Parse、TryParse的区别

    2023-06-25 03:19:50
  • Unity实现俄罗斯方块(三)

    2022-02-01 19:07:14
  • java使用RandomAccessFile类基于指针读写文件实例代码

    2021-07-29 17:45:45
  • java中利用List的subList方法实现对List分页(简单易学)

    2022-06-18 23:33:09
  • C# winfrom 模拟ftp文件管理实现代码

    2023-07-15 16:29:48
  • android工程下不能运行java main程序的解决方法

    2023-06-23 21:54:08
  • MyBatis-Plus 查询返回实体对象还是map

    2023-11-28 03:20:19
  • C# 位运算符整理

    2022-12-28 15:59:35
  • 深入探讨JAVA中的异常与错误处理

    2023-06-11 00:30:24
  • Apache和Tomcat有什么区别_动力节点Java学院整理

    2023-08-15 08:49:44
  • SpringBoot项目中分页插件PageHelper无效的问题及解决方法

    2021-07-08 23:25:55
  • Spring AOP底层原理及代理模式

    2023-05-05 14:19:38
  • asp之家 软件编程 m.aspxhome.com