인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

yeongyunim2523373's profile image
yeongyunim2523373

asked

Spring MVC Part 2 - Backend Web Development Utilization Technology

@Responsebody 로 응답 후 인터셉터에서 데이터 전달받기

Written on

·

363

1

@ResponseBody 로 Map 을 리턴하는 로직에서 인터셉터를 구현하여 결과 데이터값을 디비에 저장해보고 싶습니다. request, response 를 postHandle() 에서 받은 후, response.getOutputStream() 으로 받아오면 된다고 생각했는데 500 에러가 납니다. getOutputStream 으로는 response 값을 핸들링할 수만 있고 값을 받아오지는 못하는건가요?

MVCspring

Answer 1

1

안녕하세요, 임연균 님! 공식 서포터즈 codesweaver 입니다.

response 에서 획득한 outputstram 은 클라이언트에게 응답할 때 사용합니다.

이를 데이터베이스에 저장하기 위한 용도로 사용할실 수 없습니다.

.

Map의 정보를 데이터베이스에 저장하는 경우라면 postHandler 를 이용하시기 보단,

서비스 로직에서 데이터베이스 저장 로직을 추가하는 것이 좋습니다.



감사합니다.

답변 감사합니다! 다만 각 웹 요청마다 request uri, 접속 ip, 처리 결과 등등을 db에 담으려는 interceptor(handlerinterceptor) 를 구현하려고 하는데 response body 를 interceptor에서 받을 수 있는 방법은 없을까요? (기존 코드는 건들이지 않고 응답 값만 db에 담는 로직을 구현하는 것이 과제입니다 ㅜㅜ ) 코드를 전체 손봐야하는 수 밖에는 없을까요?

yeongyunim2523373's profile image
yeongyunim2523373

asked

Ask a question