Spring MVC PathVariable

我们已经学习了如何定义一个Controller方法,如何为该方法设置对应的请求URI。假设一个URL请求映射到了定义的Controller方法,该方法如何处理呢?如何获取到参数呢?今天小博老师向大家介绍一个获取URITemplate参数的注解@PathVariable

我们先看一个例子:

@RequestMapping(value="/boweifeng/{classId}", method=RequestMethod.GET)

public String findClass(@PathVariable int classId, Model model){

}

URI模板”/boweifeng/{classId}”指定了默认变量名为classId。当方法被请求时,参数classId的值会被赋值为请求的URI中对应部分的值。比如请求为/boweifeng/12,那么fincClass方法中classId参数会被赋值为12。参数名和URI模板变量名一致能自动赋值。如果两者不一致,则需要在@Pathvariable注解中加入对应的参数,如下面的例子:

@RequestMapping(value="/boweifeng/{classId}", method=RequestMethod.GET)

public String findClass(@PathVariable(“classId”) int clazzTag, Model model){

}

如果URI定义中有多个变量,可以在方法中定义对应数量的@PathVariable注解获取相应的参数值。

@PathVariable和方法中的参数可以是任何简单数据类型,例如:int,long,Date,等等。spring会自动转换,如果不匹配则抛出TypeMismatchException。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容