@RequestMapping注解使用技巧
@RequestMapping基础用法
@RequestMapping(“/index”)
@RequestMapping处理多个URL
@RequestMapping(value={“”,”/page”,”/page*”,”/view/”,”*/msg”})
带有@RequestMapping的@RequestMapping
@RequestMapping(value=”/id”)
String getValueById(@RequestParam(”id”) String id){};
如果传入参数和接收参数相同,则value属性可以省略:
String getValueById(@RequestParam String id){};
@RequestParam中的required
@RequestMapping(value=”/id”)
String getValueById(@RequestParam(value=”id”,required=false) String id){};
当指定非必须的时候一下两种请求都会被处理:
/id?id=111
/id
@RequestParam中的defaultValue
@RequestMapping(value=”/id”)
String getValueById(@RequestParam(value=”id”,defaultValue=”222”) String id){};
如果id参数为空,将指定默认值
用@RequestMapping处理HTTP的各种方法
所有请求默认是get方式
如需指定,使用method参数:
@RequestMapping(value=”/id”,method=RequestMethod.GET)
用@RequestMapping来处理生产和消费对象
可以使用@RequestMapping注解的produces和consumes这两个元素来缩小请求映射类型的范围
为了能用请求的媒体类型来产生对象,你要用到@RequestMapping的produces元素再结合着@ResponseBody注解
你也可以利用@RequestMapping的comsumes元素再结合着@ResponseBody注解用请求的媒体类型来消费对象
@RequestMapping(value=”/id”,produces={“application/JSON”})
@RequestMapping(value=”/id”,consumes={“application/JSON”,”application/XML”})
使用@RequestMapping来处理消息头
@RequestMapping(value=”/id”,headers={“content-type=text/plain”})
使用@RequestMapping来处理请求参数
@RequestMapping(value=”/id”,params={“id=111”})
该方法只会接收参数中id=111的请求
使用@RequestMapping来处理动态URL
@RequestMapping可以同@PathVaraible注解一起使用,用来处理动态的URL,URL的值可以作为控制器中处理方法的参数。你也可以使用正则表达式来只处理可以匹配到正则表达式的动态URL
@RequestMapping(value=”/id/{id}”)
@RequestMapping(value=”/id/{id:[a-z]+}/{name}”)
String getDynamicUriValueRegex(@PathVariable(“name”) String name){};
@PathVariable:从URL里取出查询参数
@RequestParam:从URL模板中获取参数
@RequestMapping默认的处理方法
@RequestMapping()
@RequestMapping快捷方式
组合注解:
@GetMapping
@PostMapping
.
.
.