读书人

@RequestParam @RequestBody @PathVar

发布时间: 2012-09-27 11:11:17 作者: rapoo

@RequestParam @RequestBody @PathVariable 等参数绑定注解详解
引言:

接上一篇文章,对@RequestMapping进行地址映射讲解之后,该篇主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用;


简介:

handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型)

A、处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解: @PathVariable;

B、处理request header部分的注解: @RequestHeader, @CookieValue;

C、处理request body部分的注解:@RequestParam, @RequestBody;

D、处理attribute类型是注解: @SessionAttributes, @ModelAttribute;

1、 @PathVariable

当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。

示例代码:

@RequestMapping (method = RequestMethod.POST)public String doRegister(User user){if(logger.isDebugEnabled()){logger.debug("process url[/user], method[post] in "+getClass());logger.debug(user);}return "user";}

这种情况下,就调用@ModelAttribute来处理。


参考文档:

1、 Spring Web Doc:

spring-3.1.0/docs/spring-framework-reference/html/mvc.html

读书人网 >软件架构设计

热点推荐