加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Spring MVC 3.0:String是@PathVariable的首选类型吗?

发布时间:2020-12-14 16:17:52 所属栏目:Java 来源:网络整理
导读:请原谅我在这里提出这样一个简单的问题,因为我是 Spring MVC 3.0的新手.我一直在阅读spring source website的文档几次.这是我在下面的问题中引用的代码片段: – @RequestMapping("/pets/{petId}")public void findPet(@PathVariable String petId,Model mod
请原谅我在这里提出这样一个简单的问题,因为我是 Spring MVC 3.0的新手.我一直在阅读spring source website的文档几次.这是我在下面的问题中引用的代码片段: –
@RequestMapping("/pets/{petId}")
public void findPet(@PathVariable String petId,Model model) {    
// implementation omitted
}

如果我打算使用基于这个例子的URI模板,那么将@PathVariable类型设置为String总是比较好,即使我期望它是其他类型,例如int?文档说@PathVariable注释可以是任何简单类型,但如果Spring无法将无效petId转换为int(例如,用户输入一些字符而不是数字),它将抛出一个TypeMismatchException.

那么,验证器什么时候开始发挥作用?我是否将所有@PathVariable类型保留为String并使用验证器对String值执行验证,如果没有验证错误,则将String显式转换为所需类型?

谢谢.

解决方法

>让@PathVariable成为您期望的类型,不一定是String >有一个很好的自定义错误页面.如果用户决定在URL中写入内容,他应该知道“后果”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读