Jackson은 Java 객체와 JSON 간의 변환을 쉽게 할 수 있도록 도와주는 라이브러리입니다.
ObjectMapper는 JSON 데이터를 Java 객체로 역직렬화(deserialize)하거나, Java 객체를 JSON 형식으로 직렬화(serialize)하는 데 사용됩니다.
request.getInputStream()
- request.getInputStream()은 HttpServletRequest 객체에서 요청 본문을 읽어들이는 데 사용됩니다.
- 이 메서드는 요청 본문을 바이트 스트림 형태로 반환합니다. 주로 POST, PUT, PATCH와 같은 HTTP 메서드에서 JSON 데이터를 서버로 전송할 때 사용됩니다.
- 예를 들어, 클라이언트가 로그인 요청을 보낼 때 사용자 이름과 비밀번호를 JSON 형식으로 본문에 담아 보낼 수 있습니다.
new ObjectMapper().readValue()
- ObjectMapper의 readValue 메서드는 JSON 형식의 데이터를 읽어 Java 객체로 변환하는 역할을 합니다.
- 이 메서드는 두 가지 인수를 받습니다:
- InputStream: JSON 데이터를 담고 있는 입력 스트림 (request.getInputStream()).
- Class<T>: JSON 데이터를 변환할 Java 클래스 (LoginRequestDto.class).
LoginRequestDto requestDto = new ObjectMapper().readValue(request.getInputStream(), LoginRequestDto.class);
위 코드에서 readValue 메서드는 request.getInputStream()에서 JSON 데이터를 읽어 LoginRequestDto 클래스의 인스턴스로 변환합니다.