SpringBoot传参,接收参数问题
第一类请求路径参数1、PathVariable获取路径参数。即url/{id}这种形式。2、RequestParam获取查询参数。即url?name这种形式例子GEThttp://localhost:8080/demo/123?namesuki_rong对应的java代码GetMapping(/demo/{id}) public void demo(PathVariable(name id) String id, RequestParam(name name) String name) { System.out.println(idid); System.out.println(namename); }输出结果id123namesuki_rong第二类Body参数因为是POST请求这里用Postman的截图结合代码说明1、RequestBody例子demo1对应的java代码PostMapping(path /demo1) public void demo1(RequestBody Person person) { System.out.println(person.toString()); }输出结果name:suki_rong;age18;hobby:programing也可以是这样PostMapping(path /demo1) public void demo1(RequestBody MapString, String person) { System.out.println(person.get(name)); }输出结果suki_rong2、无注解例子demo2对应的java代码PostMapping(path /demo2) public void demo2(Person person) { System.out.println(person.toString()); }输出结果name:suki_rong;age18;hobby:programingPerson类public class Person { private long id; private String name; private int age; private String hobby; Override public String toString(){ return name:name;ageage;hobby:hobby; } }第三类请求头参数以及Cookie1、RequestHeader2、CookieValue例子java代码GetMapping(/demo3) public void demo3(RequestHeader(name myHeader) String myHeader, CookieValue(name myCookie) String myCookie) { System.out.println(myHeader myHeader); System.out.println(myCookie myCookie); }也可以这样GetMapping(/demo3) public void demo3(HttpServletRequest request) { System.out.println(request.getHeader(myHeader)); for (Cookie cookie : request.getCookies()) { if (myCookie.equals(cookie.getName())) { System.out.println(cookie.getValue()); } } }