package com.xixi.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
*@RequestMapping:用来处理URL映射,将请求映射要处理方法中
*
* 除了用来方法上也可以用在类上
* 将请求URL模块化 避免请求方法映射中的映射重复。
*
* 如果加在类上面,所有的方法都要加上类的映射
* method 设置请求方式 GET/POST
*
* 还有一种简写的方式;
* @PostMapping
* @GetMapping
* @PutMapping
* @DeleteMapping
*
*params:设置请求必须要有某些参数
* 1.必须要有某些参数 params = {"userName"}
* 2.必须没有某些参数 params = {"!userName"}
* 3。参数必须要等于某些参数 params = {"userName=三儿"}
* 4。参数必须要不等于某些参数 params = {"userName!=三儿"}
* headers:请求头必须要有某些参数
*
* headers = {"Accept-Language: zh-CN,zh;q=0.9"}
*
* consume:只接受内容类型是哪种的请求,相当于指定Content-Type
* 常见请求内容类型:
* application/x-www-form-urlencoded form表单提交默认的内容类型
* multipart/form-data form表单提交文件流的内容类型
* application/json ajax提交的json内容类型
*
* produces:返回的内容类型 Content-Type:text/html;charset=utf-8
*
*
* 映射的URL还可以支持通配符
*
* ?:能替代任意一个字符
*
* *: 能替代任意多个字符和一层路径
*
* **:能代替多层路径
*
*
* 如果映射存在包含关系,会优先交给更精确的处理
* 没有通配符是最精确的 > ? > * > **
*
*
* */
@Controller
public class MappingController {
@RequestMapping(value = "/mapping01",method = {RequestMethod.POST,RequestMethod.GET})
public String mapping01(){
System.out.println("mapping..........");
return "/index.jsp";
}
@PostMapping("/method")
public String mapping02(){
System.out.println("mapping02..........");
return "/index.jsp";
}
@RequestMapping(value = "/param",params = {"userName=zs"})
public String mapping03(){
System.out.println("param..........");
return "/index.jsp";
}
@RequestMapping(value = "/headers",headers = {"Accept-Language: zh-CN,zh;q=0.9"})
public String mapping04(){
System.out.println("headers..........");
return "/index.jsp";
}
@RequestMapping(value = "/consume",consumes = {"application/json"})
public String mapping05(){
System.out.println("param..........");
return "/index.jsp";
}
@RequestMapping(value = "/produces",produces = "application/json")
public String mapping06(){
System.out.println("produces..........");
return "/index.jsp";
}
@RequestMapping(value = "/ant?")
public String mapping07(){
System.out.println("ant?..........");
return "/index.jsp";
}
@RequestMapping(value = "/ant*")
public String mapping08(){
System.out.println("ant*..........");
return "/index.jsp";
}
@RequestMapping(value = "/**/ant")
public String mapping09(){
System.out.println("ant**..........");
return "/index.jsp";
}
}