@RequestBody 개념 정리

LeeYulhee·2023년 8월 29일
0

👉 설명


  • 클라이언트가 보낸 JSON이나 XML 등의 HTTP 요청 본문(body)을 자바 객체로 변환시키기 위해 컨트롤러의 메서드 파라미터 앞에 사용
  • 스프링에서는 HttpMessageConverter라는 것을 사용하여 HTTP 요청 본문을 객체로, 또는 객체를 HTTP 응답 본문으로 변환
  • @RequestBody 어노테이션을 사용하면 요청 본문의 내용을 해당 파라미터의 타입으로 자동으로 변환시키게 됨
    • 이 변환을 가능하게 하는 라이브러리는 주로 'Jackson' 라이브러리
      • spring-boot-starter-web 의존성을 추가하면 Jackson 라이브러리가 자동으로 포함



👉 예시


@RestController
public class MyController {

    @PostMapping("/persons")
    public ResponseEntity<String> addPerson(@RequestBody Person person) {
        // person 객체는 클라이언트가 보낸 JSON 본문을 Person 객체로 변환한 것
        // ... 비즈니스 로직 처리 ...

        return ResponseEntity.ok("Person added successfully");
    }
}

class Person {
    private String name;
    private int age;
    // getters, setters, etc...
}
  1. 클라이언트가 아래와 같은 JSON을 보냄

    {
      "name": "John Doe",
      "age": 25
     }
  2. 스프링은 이 JSON을 자동으로 Person 객체로 변환하여 addPerson 메서드의 파라미터로 전달

profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글