인프런 커뮤니티 질문&답변

조석훈님의 프로필 이미지
조석훈

작성한 질문수

스프링 핵심 원리 - 기본편

스코프와 프록시

request scope 질문!

작성

·

318

9

안녕하세요! 

강의를 듣다보니 궁금한 점이 생겼는데요.

강의 내용중 아래 부분에서 궁금한 부분이 생겼습니다!

특별한 scope는 꼭 필요한 곳에서만 최소화해서 사용하자

그럼 실무에서는 어떤 용도로 request scope를 가장 많이 사용하나요??

가령 보여주신 예제처럼 고객들의 request를 로그로 기록해 어떤 요청이 많았는지 분석하는 용도로 쓰이는건가요??

아니면 다른 용도가 있다면 알려주시면 감사하겠습니다!!

좋은 강의 감사드립니다.

답변 1

18

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 석훈님

request scope는 강의에서 설명드린 것 처럼 대안이 있으면 가급적이면 사용하지 않는게 좋습니다. 그래도 비즈니스 상황에 따라서 이것을 사용하면 편리한 경우들이 있습니다. (저의 경우는 공통 로그 처리에서 편리하게 사용했습니다)

request scope 자체가 HTTP 요청 정보의 내용을 편리하게 다룰 수 있기 때문에, 이 요청 정보를 공통화해서 객체로 만들어두고, 공통으로 로그 처리를 하거나 또는 외부 API를 호출할 때 요청서버에서 넘어온 정보를 함께 넘기거나 할 때 유용하게 사용할 수 있습니다.

예를 들어서 요청서버 -> 현재서버 -> 대상서버

구조가 되어있을 때 요청서버에서 뭔가 요청 id를 만들어서 현재서버에 넘겼을 때 현재서버는 단순이 이 요청 id가 비즈니스 로직과는 전혀 상관이 없고, 로그용으로 필요하고, 또 대상 서버로 넘길 때 필요하다면 파라미터로 계속 가지고 다니기에는 부담스럽습니다. 이런 경우에 사용하면 비즈니스 로직을 전혀 손대지 않고, 공통 로그 처리, 외부 AP에I 파라미터 전달 등등 업무를 처리할 수 있습니다.

정리하면 request scope는 비즈니스 로직에 파라미터를 계속 들고다닐 필요 없이 공통 정보를 처리할 때 효과적입니다.

그런데 request scope 같은 것을 너무 자주 사용하면, http 요청이 없는 테스트 코드 등에서 고민할 내용이 많아지는 단점이 있습니다.

감사합니다.

조석훈님의 프로필 이미지
조석훈

작성한 질문수

질문하기