spring mvc 常用注解

it2022-05-05  191

1.@requestMapping注解,绑定指定的url,requestmapping注解的属性值有value和method。

requestmaping可以作用在类上或者方法上

如:@RequestMapping(value="/getcurrent", method=RequestMethod.POST)

2.@pathVariable 注解。用于提取url中的变量,传入到方法的形参中。

@Controller  @RequestMapping("/owners/{ownerId}")  public class RelativePathUriTemplateController {      @RequestMapping("/pets/{petId}")    public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) {          // implementation omitted    }  }  

上面代码把URI template 中变量 ownerId的值和petId的值,绑定到方法的参数上。若方法参数名称和需要绑定的uri template中变量名称不一致,需要在@PathVariable("name")指定uri template中的名称。

3.@requestBody注解

该注解常用来处理Content-Type: 不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等;

它是通过使用HandlerAdapter 配置的HttpMessageConverters来解析post data body,然后绑定到相应的bean上的。

@RequestMapping(value = "/something", method = RequestMethod.PUT)  public void handle(@RequestBody String body, Writer writer) throws IOException {    writer.write(body);  }  

4.@requestBody详解,

@RequestBody

作用: 

      i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;

      ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

使用时机:

A) GET、POST方式提时, 根据request header Content-Type的值来判断:

    application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);    multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);    其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);

 

B) PUT方式提交时, 根据request header Content-Type的值来判断:

 

    application/x-www-form-urlencoded, 必须;    multipart/form-data, 不能处理;    其他格式, 必须;

说明:request的body部分的数据编码格式由header部分的Content-Type指定;

说明:request的body部分的数据编码格式由header部分的Content-Type指定;

说明:request的body部分的数据编码格式由header部分的Content-Type指定;

 

 

@ResponseBody

 

 

 

作用: 

 

      该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

 

使用时机:

 

      返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

 

详情参考http://blog.csdn.net/walkerjong/article/details/7520896 感谢作者

 

转载于:https://www.cnblogs.com/panxuejun/p/6090349.html

相关资源:springmvc常用注解标签详解

最新回复(0)