Controller层中常用的接收前端参数的方式

@PathVariable

获取路径参数,即 url/{id} 这种形式,如下请求路径中 1 即为这里的 {id} 。

http://localhost:8080/param/path/1
@GetMapping(value = "/param/path/{id}")
public String pathParams(@PathVariable String id){
    return "return id = " + id;
}

@RequestParam

获取查询参数,即 url?id=&name= 这种形式,如下请求(这里以GET请求方式为例)中,1 为 id 值,davis 为 name 值。

http://localhost:8080/param/request?id=1&name=davis
@GetMapping(value = "/param/request")
public String requestParams(@RequestParam(required = false) String id, 
                @RequestParam(required = false) String name){
    return "return id = " + id + ", name = " + name;
}

required = false 表示该参数可以不存在。

注:

  • 此方式一个参数对应一个注解,适用于少参数请求。

  • 此方式支持GET、POST请求。

@RequestBody

这个只支持Post请求,而且Content-Type 必须为 application/json,请求路径为

http://localhost:8080/param/body
@PostMapping(value = "/param/body", method = RequestMethod.POST)
public String bodyParams(@RequestBody DTO dto){
    return "dto: " + dto.toString();
}

你可能感兴趣的:(Java,java,spring,后端)