API서버 RequestBody 여러번 읽는방법
기본적으로 Request내에 있는 inputStream의 경우 1회만 읽을 수 있다. 로그성 데이터를 남기기 위해서 한번 읽어버리면 이후 로직에서 데이터를 읽지못하는 경우가 발생한다. 예를들어 API서버 만들었는데 요청과 응답에 대한 로그성 데이터를 남기고 싶었다. 그런경우 Interceptor에서 해당 바디에 있는 데이터를 읽어와서 String으로 변환하여 로그 데이터를 남겼고 그 이후 컨트롤러로 진입하였을때 바디에 있는 정보를 이미 앞에서 읽었기 때문에 데이터가 없는 경우가 발생했다. 아래와 같이 인터셉터에서 요청 바디와, 요청 파람, 응답 바디 등을 받아서 로그성 데이터를 남기고 싶다면 추가적으로 필터를 추가하고 요청에 대한 Cache처리가 필요했다. public class TestIntercept..
2023.02.07