HttpServletRequest와 @RequestBody

HttpServletRequset : HTTP 요청에 대한 정보는 담고 있는 객체

  • HttpServletRequset는 Spring 프레임워크에서 제공하는 인터페이스이다
  • 사용하는 이유 : 클라이언트로 부터 요청된 정보를 추출하기 위해서
  • HTTP 요청에 대한 다양한 정보(헤더, 파라미터, 세션 등등 )를 추출하여 사용한다.
  • HTTP 요청에 대한 모든 정보에 접근할 수 있음

@RequestBody

  • Spring 프레임워크에서 제공하는 어노테이션으로 HTTP요청의 본문(Body)에 담겨있는 데이터를 *자바 객체로 매핑 * 하는데 사용한다
  • 주로 POST, PUT, PATCH 같은 메서드로 데이터를 전송할 때 사용
  • 클라이언트가 JSON,XML, 폼 데이터로 전송할 때 주로 자바 객체로 변환하여 컨트롤러 메서드의 매개변수에 바인딩이 가능하다.

주된 사용법

// HttpServletRequest를 사용하여 userId 파라미터 추출
@GetMapping("/example")
public ResponseEntity<String> example(HttpServletRequest request) {
    String userId = request.getParameter("userId");
    // ... userId를 이용한 로직 처리 ...
}

// @RequestBody를 사용하여 JSON 데이터를 객체로 매핑
@PostMapping("/data")
public ResponseEntity<User> postData(@RequestBody User user) {
    // ... User 객체를 이용한 로직 처리 ...
}

'JAVA > Spring' 카테고리의 다른 글

[스프링 학습] 1. 오브젝트와 IoC  (0) 2023.10.23
Spring Template - RestTemplate  (0) 2023.07.23
Spring Template이란?  (0) 2023.07.23
JWT Token  (0) 2023.07.23
01. Spring - DI(Dependency Injection)  (0) 2023.07.13