@RequestMapping 注解

@RequestMapping 注解
开发者需要在控制器内部为每一个请求动作开发相应的处理方法。org.springframework.web.bind.annotation.RequestMapping 注解类型指示Spring用哪一个类或方法处理请求动作,该注解可用于类和方法。
@RequestMapping可以用来注释一个控制器类,在这种情况下,所有方法都将映射为相对于类级别的请求,表示该控制器处理的所有请求都被映射到value属性所指示的路径下。示例代码如下:

@Controller
@RequestMapping(value="/user")
public class UserController{
  @RequestMapping(value="/register")
  public String register(){
    return "register";
  }

  @RequestMapping(value="/login")
  public String login(){
    return "login";
  }
}

由于UserController类中加了value="/user"的@RequestMapping的注解,因此所有相关路径都要加上"/user",此时方法被映射到了如下请求URL(统一资源定位器):
http://localhost:8080/user/register
http://localhost:8080/user/login
使用@RequestMapping注解可指定如下表所示的属性:

属性 类型 是否必要 说明
value String[] 用于将指定请求的实际地址映射到方法上
name String 给映射地址指定一个别名
method RequestMethod[] 映射指定请求的方法类型,包括GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE
consumes String[] 指定处理请求的提交内容类型(Content-Type),例如application/json、text/html等
produces String[] 指定返回的内容类型,返回的内容类型必须是request请求头(Accept)中所包含的类型
params String[] 指定request中必须包含某些参数值时,才让该方法处理
headers String[] 指定request中必须包含某些指定的header值,才能让该方法处理请求
Path String[] 在Servlet环境中只有:uri路径映射(例如:"/myPath.do")。在方法层面上,支持相对路径(例如:"edit.do")
原文地址:https://www.cnblogs.com/lxcmyf/p/7154408.html