作者:huaxingwu | 来源:互联网 | 2023-09-13 14:29
1.1、注解:
@GetMapping("/car/{id}/xx/{Username}")
public Map getCar(@PathVariable("id") Integer id,
@PathVariable("Username") String Username,
@PathVariable Map map1,
@RequestHeader("User-Agent")String Useragent,
@RequestHeader Map map2,
@RequestParam("age") String age,
@RequestParam Map map3,
@COOKIEValue("_ga") String _ga,
@COOKIEValue("_ga") COOKIE COOKIE){
Map map=new HashMap<>();
map.put("id",id);
map.put("name",Username);
map.put("map",map1);
map.put("User-Agent",Useragent);
map.put("map2",map2);
map.put("age",age);
map.put("map3",map3);
map.put("_ga",_ga);
System.out.println(COOKIE.getName()+"===>"+COOKIE.getValue());
return map;
}使用@PathVariable注释时可以直接注释Map 可以直接获取所有@PathVariable信息 (map必须是类型) 路径变量@RequestHeader获取请求头 如上用在Map(String,String) 上 获取所有请求头
@RequestParam获取请求参数 如上用在Map(String,String) 上 获取所有请求参数
@COOKIEValue 获取COOKIE值 可以使用COOKIE对象获取
@COOKIEValue("_ga") COOKIE COOKIE
System.out.println(COOKIE.getName()+"===>"+COOKIE.getValue());
@RequestBody获取请求体[post] 用于表单,获取所有表单信息
普通参数与基本注解
@GetMapping("/goto")
public String goToPage(HttpServletRequest request){
request.setAttribute("msg","成功了");
request.setAttribute("code","200");
return "forward:/success";//转发到/success
}
@ResponseBody
@GetMapping("/success")
public Map success(@RequestAttribute("msg") String msg,
@RequestAttribute("code") Integer code,
HttpServletRequest request){
Object msg1=request.getAttribute("msg");
Map map=new HashMap<>();
map.put("reqMethod_msg",msg1);
map.put("annotation_msg",msg);
return map;
}@RequestAttribute获取request中的信息 (也可以直接使用原生的HttpServletRequest来获取) 不常用
@MatrixVariable矩阵变量
@MatrixVariable矩阵变量
矩阵变量
//1、语法: 请求路径:/cars/sell;low=34;brand=byd,audi,yd
//2、SpringBoot默认是禁用了矩阵变量的功能
// 手动开启:原理。对于路径的处理。UrlPathHelper进行解析。
// UrlPathHelper中的removeSemicolonContent变成false(移除分号内容)支持矩阵变量的
创建一个Bean 放入容器中 或者这个容器类实现WebMvcConfigurer
//3、矩阵变量必须有url路径变量才能被解析
@GetMapping("/cars/{path}")
public Map carsSell(@MatrixVariable("low") Integer low,
@MatrixVariable("brand") List brand,
@PathVariable("path") String path){
Map map = new HashMap<>();
map.put("low",low);
map.put("brand",brand);
map.put("path",path);
return map;
}