路径变量:路径变量使用@PathVariable注解,@PathVariable注解可以一个一个参数来接收,也可以直接使用一个map来进行接收
@RestController
public class ParameterTextController {
@GetMapping("/car/{id}/owner/{username}")
public Map getCar(@PathVariable("id") Integer id,
@PathVariable("username") String name,
@PathVariable Map pv){
Map<String, Object> map = new HashMap<>();
map.put("id",id);
map.put("owner",name);
map.put("pv",pv);
return map;
}
}
获取请求头:获取请求头使用@RequestHeander注解,请求头也可以使用map来一次性获取全部参数
@RestController
public class ParameterTextController {
@GetMapping("header")
public Map getCar(@RequestHeader("User-Agent") String ua,
@RequestHeader Map headers){
Map<String, Object> map = new HashMap<>();
map.put("ua",ua);
map.put("headers",headers);
return map;
}
}
获取请求参数:获取请求参数使用@RequestParam注解,请求参数也可以使用map来统一获取。
@RestController
public class ParameterTextController {
@GetMapping("/param")
public Map getCar(@RequestParam("id") Integer id,
@RequestParam("name") String name,
@RequestParam Map rmp){
Map<String, Object> map = new HashMap<>();
map.put("id",id);
map.put("name",name);
map.put("rmp",rmp);
}
}
获取cookie值:cookie不能用map来获取了,但是cookie有专门的实体类,实体类里面可以获取到很多信息。
@RestController
public class ParameterTextController {
@GetMapping("/cookie")
public Map getCar(@CookieValue("Idea-ac8d9f93") String idea,
@CookieValue("Idea-ac8d9f93") Cookie cookie){
Map<String, Object> map = new HashMap<>();
map.put("Idea-ac8d9f93",idea);
map.put("cookie",cookie.getName()+":"+cookie.getValue());
return map;
}
}
获取请求体:请求体只有post请求才能拥有,get请求是没有请求体的。请求体的获取相对简单,一个参数就可以获取到。
@PostMapping("/save")
public Map<String,Object> postMethod(@RequestBody String content){
Map<String, Object> map = new HashMap<>();
map.put("content",content);
return map;
}
获取request域属性:获取request域属性使用@RequestAttribute注解,该注解可以获取到传过来的request域里面的数据。
@Controller
public class RequestController {
@GetMapping("/goto")
public String goToPage(HttpServletRequest request){
request.setAttribute("msg","成功...");
request.setAttribute("code",200);
return "forward:/success";
}
@ResponseBody
@GetMapping("/success")
public Map success(@RequestAttribute("msg") String msg,
@RequestAttribute("code") Integer code,
HttpServletRequest request){
Object msg1 = request.getAttribute("msg");
Map<String, Object> map = new HashMap<>();
map.put("requestMethod",msg1);
map.put("msg",msg);
map.put("code",code);
return map;
}
}