注解:
    1)、@PathVariable 路径变量(获取访问路径上的参数)。
    2)、@RequestHeader 获取请求头的参数。
    3)、@ModelAttribute
    4)、@RequestParam 获取请求参数(访问路径上以“?”“&”链接的数据)。
    http://localhost:8080/myappname/mypath?var1=hello&var2=world
    5)、@MatrixVariable 矩阵变量(访问路径上以“;”链接的数据)。
    http://localhost:8080/myappname/mypath;var1=hello;var2=world
    6)、@CookieValue 获取cookie值。
    7)、@RequestBody 获取请求体(表单提交的post请求)。

    1. @RestController
    2. public class ParameterTestController {
    3. // car/2/owner/zhangsan
    4. @GetMapping("/car/{id}/owner/{username}")
    5. public Map<String,Object> getCar(@PathVariable("id") Integer id,
    6. @PathVariable("username") String name,
    7. @PathVariable Map<String,String> pv,
    8. @RequestHeader("User-Agent") String userAgent,
    9. @RequestHeader Map<String,String> header,
    10. @RequestParam("age") Integer age,
    11. @RequestParam("inters") List<String> inters,
    12. @RequestParam Map<String,String> params,
    13. @CookieValue("_ga") String _ga,
    14. @CookieValue("_ga") Cookie cookie){
    15. Map<String,Object> map = new HashMap<>();
    16. // map.put("id",id);
    17. // map.put("name",name);
    18. // map.put("pv",pv);
    19. // map.put("userAgent",userAgent);
    20. // map.put("headers",header);
    21. map.put("age",age);
    22. map.put("inters",inters);
    23. map.put("params",params);
    24. map.put("_ga",_ga);
    25. System.out.println(cookie.getName()+"===>"+cookie.getValue());
    26. return map;
    27. }
    28. @PostMapping("/save")
    29. public Map postMethod(@RequestBody String content){
    30. Map<String,Object> map = new HashMap<>();
    31. map.put("content",content);
    32. return map;
    33. }
    34. //1、语法: 请求路径:/cars/sell;low=34;brand=byd,audi,yd
    35. //2、SpringBoot默认是禁用了矩阵变量的功能
    36. // 手动开启:原理。对于路径的处理。UrlPathHelper进行解析。
    37. // removeSemicolonContent(移除分号内容)支持矩阵变量的
    38. //3、矩阵变量必须有url路径变量才能被解析
    39. @GetMapping("/cars/{path}")
    40. public Map carsSell(@MatrixVariable("low") Integer low,
    41. @MatrixVariable("brand") List<String> brand,
    42. @PathVariable("path") String path){
    43. Map<String,Object> map = new HashMap<>();
    44. map.put("low",low);
    45. map.put("brand",brand);
    46. map.put("path",path);
    47. return map;
    48. }
    49. // /boss/1;age=20/2;age=10
    50. @GetMapping("/boss/{bossId}/{empId}")
    51. public Map boss(@MatrixVariable(value = "age",pathVar = "bossId") Integer bossAge,
    52. @MatrixVariable(value = "age",pathVar = "empId") Integer empAge){
    53. Map<String,Object> map = new HashMap<>();
    54. map.put("bossAge",bossAge);
    55. map.put("empAge",empAge);
    56. return map;
    57. }
    58. }