HttpServletRequest Body를 여러번 읽을 수 없을까? - ContentCachingRequestWrapper
·
Code/Spring
Request Body에 대한 로그를 Filter 단계에서 찍고 싶을 때...API를 개발하다 보면 "어떤 데이터를 바탕으로 에러가 나지?"라는 생각으로 재현하고 싶을 때가 있습니다. 이때 가장 먼저 확인하고 싶은 것이 바로 Request Body(JSON) 의 내용입니다.하지만 그냥 로그를 찍으면 Stream Closed 에러가 발생하거나, 컨트롤러 계층에서 비어있는 요청이 전달되게 됩니다.오늘은 이 문제의 근본적인 원인인 HttpServletRequest의 특징부터 이를 해결할 수 있는ContentCachingRequestWrapper에 대해서 알아보겠습니다.1. HttpServletRequest에 대해서..가장 먼저 우리가 다루고 있는 객체, HttpServletRequest 에 대해 간단히 짚고 ..
아직도 Service에서 만든 DTO를 그대로 반환하시나요?
·
Code/Spring
Spring Boot를 사용하며 우리는 DTO를 통해 유저에게 반응을 전달하고, 레이어 간에 데이터를 이동시킵니다.우선 DTO에 대해서 자세히 알아보고, 평소에 우리는 어떻게 사용하는지 살펴봅시다.DTO(Data Transfer Object, 데이터 전송 객체)란?DTO는 말 그대로 데이터를 임시로 담고 있는 객체입니다. 계층과 계층 사이에서 데이터를 전송하기 위해서 사용됩니다.Client-Server 프로젝트에서는 각자 서로 다른 구조로 구성되는 경우가 있습니다. 각 영역에서는 중점으로 하는 점이 다른데요. Client Side에서는 사용자 친화적인 표현을 하기 위한 구조를 지향하고, 서버에서는 DB의 테이블 구조와 유사하거나, 성능이 뛰어난 방식을 선호하게 됩니다. 이러한 이유로 DTO는 같은 단어이..