@RequestMapping
注解用来映射 URL 到控制器类或方法上,指示Spring
用那一个类或方法来处理请求动作。
当用来注解一个控制器类时,所有方法都将映射为相对类级别的请求,再找该类下方法级别的映射,最终的 URI
是类的映射地址拼接上方法映射地址。
@RequestMapping 注解属性
value 属性
通过该属性将URL映射到类或方法上,该属性是 @RequestMapping 注解的默认属性,值是个字符串数组,
- 如果只有唯一的属性,则可以省略属性名,如下示例,
- 如果有超过一个属性,则必须写上
value
属性名称。 - 该属性也可以是一个空字符串,则 URL 映射的是项目根路径,与单个斜杠映射相同。
RequestMapping(value={"/admin","/root"})//指定属性名,多个值
RequestMapping("/admin")//省略属性名
RequestMapping("/")//根路径
RequestMapping("")//空字符串,根路径
method 属性
该属性用于指示该方法对那些 HTTP 请求方式做处理。
如果没有指定,则可以处理任意的 HTTP 请求方式。
该属性也可以设置多个值。
@RequestMapping(value="/user", method=RequestMethod.POST)
@RequestMapping(value="/user", method={RequestMethod.POST, RequestMethod.GET})
consumes 属性
该属性指定处理请求的提交内容类型(Content-Type
)
@RequestMapping(value = "/user", method=RequestMethod.POST, consumes="application/json")
produces 属性
定制返回response
的媒体类型和字符集。仅处理指定的 request 请求头(Accept)中所包含的类型,同时以相同的内容类型返回。
package com.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.entity.User;
import com.service.impl.DemoServiceImpl;
/**
* @RestController 声明的控制器,表示返回的是指定格式的数据
* @author Rocky
*
*/
@RestController
@RequestMapping("/rest")
public class RestControllerDemo {
@Autowired
DemoServiceImpl demoServiceImpl;
//返回text
@RequestMapping(value = "/getText", produces = "text/plain;charset=UTF-8")
public String getText() {
return demoServiceImpl.saySomething();
}
//返回json
@RequestMapping(value = "/getJson", produces = "application/json;charset=UTF-8")
public User getJson() {
return new User("张三", 25);
}
//返回xml
@RequestMapping(value = "/getXML", produces = "application/xml;charset=UTF-8")
public User getXML(User user) {
return new User("李四",35);
}
}
params 属性
指定 request 中必须包含某些参数值时,才让该方法处理。
//处理名为myParam,值为myValue的请求
@RequestMapping(value="/user", method=RequestMethod.POST, params="myParam=myValue")
相关参考
更多内容请访问:IT源点
注意:本文归作者所有,未经作者允许,不得转载