一、请求路径参数
1.@PathVariable 获取路径参数.即url/{id}这种形式
@GetMapping("/demo/{id}")
public void demo(@PathVariable(name = "id") String id) {
System.out.println("id="+id);
}
2.@RequestParam 获取查询参数。即url?name=这种形式
@GetMapping("/demo")
public void demo( @RequestParam(name = "name") String name) {
System.out.println("name="+name);
}
二、Body参数
1.@RequestBody
@PostMapping(path = "/demo")
public void demo(@RequestBody Student student) {
System.out.println(student.toString());
}
2.无注解
@PostMapping(path = "/demo")
public void demo(Student student) {
System.out.println(student.toString());
}
Student类
public class Student{
private int id;
private String name;
private String sex;
private int age;
@Override
public String toString(){
return "name:"+name+";sex="+sex+";age:"+age;
}
getters and setters.....
}
三、请求头参数以及Cookie
1、@RequestHeader
@GetMapping("/demo1")
public void demo1(@RequestHeader(name = "myHeader") String myHeader) {
System.out.println("myHeader=" + myHeader);
}
//第二种方式获取
@GetMapping("/demo2")
public void demo2(HttpServletRequest request) {
System.out.println(request.getHeader("myHeader"));
}
2.@CookieValue
@GetMapping("/demo1")
public void demo1(@CookieValue(name = "myCookie") String myCookie) {
System.out.println("myCookie=" + myCookie);
}
//第二种方式获取
@GetMapping("/demo3")
public void demo3(HttpServletRequest request) {
for (Cookie cookie : request.getCookies()) {
if ("myCookie".equals(cookie.getName())) {
System.out.println(cookie.getValue());
}
}
}