본문 바로가기

WEB개발/SPRING

[Spring] @RequstParam vs @ReqeustBody

@RequestParam:

 

@RequestParam 어노테이션은 URL의 쿼리 파라미터나 폼 데이터를 메서드의 파라미터로 매핑합니다.
주로 URL의 쿼리 문자열에서 파라미터를 추출하는 데 사용됩니다.

 

사용 예:

@GetMapping("/example")
public String exampleMethod(@RequestParam String name, @RequestParam int age) {
    // 메서드 내용
}



요청: GET /example?name=value&age=30

 


@RequestBody:


@RequestBody 어노테이션은 HTTP 요청의 본문(body)에 있는 데이터를 메서드의 파라미터로 매핑합니다.
JSON이나 XML과 같은 데이터 형식으로 전송된 복잡한 객체를 처리하는 데 주로 사용됩니다.

 

사용 예:

@PostMapping("/example")
public String exampleMethod(@RequestBody MyObject myObject) {
    // 메서드 내용
}

 

 

HttpServletRequest의 getParameter 메서드는 기본적으로 쿼리 문자열 및 POST 방식의 form 데이터에 대한 처리를 지원합니다. 그러나 JSON 데이터는 일반적으로 HTTP 요청의 본문(body)에 포함되기 때문에 직접적으로 getParameter 메서드를 사용하여 추출하기 어렵습니다.