RequestMapping:org.springframework.web.bind.annotation.RequestMapping
RequestMapping注解类型用来指示Spring用哪一个类或方法来处理请求动作,该注解可用于类或方法
@RequestMapping可以用来注解一个控制器类
代码:
import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping(value="/user") public class TestRequestMapping { @RequestMapping(value="/login") public String login(Model model){ return "login"; } @RequestMapping(value="/register") public String register(Model model){ return "register"; } }
因为TestRequestMapping累中加了vaule="/user"的@RequestMapping注解,因此所有相关路径都要加上“/user”,此时方法被映射到如下请求URL:
http://localhost:8080/user/login
http://localhost:8080/user/register
RequestMapping 的相关属性
1、value属性
用来映射一个请求和一个方法。例如
@RequestMapping(value="/login") public String login(Model model){ return "login"; }
如果@RequestMapping只有唯一的属性,则可以省略属性名,即如下两个标注含义相同。
@RequestMapping(value="/login") @RequestMapping("/login")
但是,如果超过一个属性,就必须写上value属性名称
2、method属性
该属性用来指示该方法仅仅处理哪些http请求方式
@RequestMapping(value="/login", method = RequestMethod.GET) @RequestMapping(value="/login", method = RequestMethod.POST) 可以同时支持多个http请求方式 @RequestMapping(value="/login", method = {RequestMethod.POST, RequestMethod.GET}) 如果没有指定method属性值,则请求处理方法可以处理人员的http请求方式
3、consumes属性
该属性指定处理请求的提交内容类型(Content-Type)
@RequestMapping(value="/login", method = RequestMethod.POST, consumes="application/json")
表示方法仅处理request Content-Type为"application/json"类型的请求
4、produces属性
该属性指定返回的内容类型,返回的内容类型必须是request请求头(Accept)中所包含的类型
@RequestMapping(value="/login", method = RequestMethod.POST, produces="application/json")
方法仅处理request请求中Accept头中包含了"application/json"的请求,同时指明了返回的内容类型为application/json
5、params属性
该属性指定request中必须包含哪些参数值时,才让该方法处理
@RequestMapping(value="/login", method = RequestMethod.POST, params = "myParam=myValue")
方法中仅处理其中名为myParam、值为myValue的请求
6、headers属性
该属性指定request中必须包含某些指定的header值,才能让该方法处理请求
@RequestMapping(value="/login", method = RequestMethod.POST, headers = "Referer=http://www.aa.org/")
方法仅处理request的header中包含了指定“Referer”请求头和对应值为“http://www.aa.org/”的请求
上述就是RequestMapping注解的一些属性,国庆节就要结束了!!!