springmvc常用的注解
有些注解会经常用到,就不会忘记,但是有几个不常用,但是很重要,在这里记录下
```
@RequestMapping
```
RequestMapping是用来处理请求地址映射的注解(将请求映射到对应的控制器方法中),可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径,如果用在方法上表明哪个具体的方法来接受处理某次请求。
属性:介绍两个常用属性:value:指定请求的实际url;method:指定请求的method类型, GET、POST、PUT、DELETE等;
如:@RequestMapping(value ={ "page","page2"}, method = RequestMethod.POST)
```
@RequestParam
```
绑定单个请求参数值
用法:@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。
属性:介绍两个常用属性:value:参数名字,即入参的请求参数名字,如name表示请求的参数区中的名字为name的参数的值将传入;required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将抛出异常;
我们通常用这个来自定义变量,如果前台input中得 name和后台得路径中所取得变量一样,就没必要这么麻烦了。required=默认值是true
,当前台没有输入,直接传入的话会报错,我们可以设置默认值
用defaultValue
,当然这两个属性是可以省略的(required,defaultValue
),建议int类型的数据用Integer来接收,如果数据类型,这样的话可以避免400错误。这个错误是因为客户端的请求数据类型,在后台无法接收造成的,用Integer接收,如果为空则是null值。
@RequestMapping("/")
public String Demo1(@RequestParam(name="sid",required=true,defaultValue="666") int id){ //前台input的name=sid 这时候我们把它重命名为id了
System.out.println("----"+id);
return null;
}`
```
@RequestBody
```
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。可用于AJAX请求。
配合@RequestMapping使用,返回的数据格式为JSON
@RequestMapping("/")
@RequestBody
```
@PathVariable
```
#####
常用来获取URL中的变量,RestFul风格
@RequestMapping(value = "test/{s}")
public String test(@PathVariable Integer id )