SpringMVC

拼接在url后面的传参形式

@PathVariable

简介:@PathVariable用于接收restful方式的请求。
eg:http://ip:port/qumy/test/1

  1. @GetMapping("/test/{id}")
  2. public String test(@PathVariable("id") Long id) {
  3. return null;
  4. }

@RequestParam

简介:@RequestParam用于接收params方式的请求。
eg:http://ip:port/qumy/test?id=1

  1. @GetMapping("/test")
  2. public String test(@RequestParam Long id) {
  3. return null;
  4. }

@Validated

简介:@Validated注解可以用一个模型来接收地址栏中的参数。
eg:http://ip:port/qumy/test?id=1

  1. @GetMapping(value = "/test")
  2. public String test(@Validated User user) {
  3. return null;
  4. }

接收request header部分的参数

@RequestHeader

简介:@RequestHeader 注解,可以把Request请求header部分的值绑定到方法的参数上。
request header(请求头):

  1. Host localhost:8080
  2. Accept text/html,application/xhtml+xml,application/xml;q=0.9
  3. Accept-Language fr,en-gb;q=0.7,en;q=0.3
  4. Accept-Encoding gzip,deflate
  5. Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
  6. Keep-Alive 300
  1. @GetMapping("/test")
  2. public String test(@RequestHeader("Accept-Encoding") String encoding) {
  3. return null;
  4. }

@CookieValue

简介:@CookieValue 可以把Request header中关于cookie的值绑定到方法的参数上。
cookie:

  1. JSESSIONID=415A4AC178C59DACE0B2C9CA727CDD84
  1. @GetMapping("/test")
  2. public String test(@CookieValue("JSESSIONID") String cookie) {
  3. return null;
  4. }

接收request body部分的参数

@RequestBody

简介:@RequestBody注解用来接收request的body中的参数,@RequestBody可以将多个参数放入到一个实体类或者Map中。

  1. // 实体类
  2. @PostMapping(value = "/test")
  3. public String test(@RequestBody ParameterModel parameterModel) {
  4. return null;
  5. }
  6. // Map
  7. @PostMapping(value = "/test)
  8. public String test(@RequestBody Map<String, Object> paramMap) {
  9. return null;
  10. }