봄 - @RequestParam

간단히 말해서 @RequestParam을 사용하여 요청에서 쿼리 매개변수, 양식 매개변수 및 파일까지 추출할 수 있습니다.

id라는 쿼리 매개변수를 사용하는 엔드포인트/api/product가 있다고 가정해 보겠습니다.

@GetMapping("/api/product")
@ResponseBody
public String getProduct(@RequestParam String id) {
    return "ID: " + id;
}


간단한 GET 요청은 getProduct를 호출합니다.

http://localhost:8080/api/product?id=123
----
ID: 123


앞의 예에서 변수 이름과 인수 이름이 모두 동일합니다. 그러나 그들이 다르기를 바랄 때가 있습니다.

이 경우 이름 속성을 사용합니다.

@PostMapping("/api/product")
@ResponseBody
public String addProduct(@RequestParam(name = "id") String pId,
 @RequestParam String name) { 
    return "ID: " + pId + " Name: " + name;
}


@RequestParam(value = "id") 또는 @RequestParam("id")만 수행할 수도 있습니다.

또한 @RequestParam을 필수 속성으로 선택적으로 구성할 수 있습니다.

@GetMapping("/api/product")
@ResponseBody
public String getProduct(@RequestParam(required = false) String id) { 
    return "ID: " + id;
}


마지막으로 Map을 사용하여 이름이나 개수를 정의하지 않고 여러 매개변수를 가질 수도 있습니다.

@PostMapping("/api/product")
@ResponseBody
public String updateProduct(@RequestParam Map<String,String> allParams) {
    return "Parameters are " + allParams.entrySet();
}

좋은 웹페이지 즐겨찾기