Closed whdvlf94 closed 8 months ago
@whdvlf94 안녕하세요. 반갑습니다 :)
결론부터 말씀드리면, 저는 대다수의 경우 컨트롤러 레이어에서 다시 한번 Response body에 맞게 응답을 변환하여 내리고 있습니다.
코드를 작성할 당시에는 서비스 레이어의 응답값과 컨트롤러 레이어의 응답값이 동일하여 딱히 변환하진 않았던 것 같네요.
이 부분은 개인이나 팀의 결정에 따라 가시면 될 것 같습니다. 코드 아키텍처에 따라서도 조금씩 달라서요.
도움이 되었으면 합니다!
빠른 답변 감사드립니다!
추가로 몇 가지 더 질문 드려도 될까요?
container 부분을 보면 app/container와 app/user/container로 구분되어 있는데, User 에서 선언한 container는 사용하지 않으시더라구요. 어떤 의도로 작성하신 건지 궁금합니다!
session 객체가 Singleton으로 관리되고 있는데, UserSQLAlchemyRepo 클래스의 Factory, Singleton 사용 여부에 따라 session 객체 사용 과정에 영향을 줄 수 있나요?
UserSQLAlchemyRepo을 Singleton으로 사용하신 이유가 객체 또는 인스턴스 생성(UserSQLAlchemyRepo, session)에 드는 비용과 메모리 효율성을 고려해서 채택하신건지 궁금합니다.
python으로만 개발을 하다보니 DI 개념이 익숙하지 않네요.. 답변 해주시면 정말 감사하겠습니다..!
@whdvlf94
코멘트가 많이 늦었네요.. 답변 정말 감사드립니다!
안녕하세요 영식님!
우선, 이런 좋은 boilerplate를 공유해주신 것에 대해 감사의 말씀 드립니다. github 뿐만 아니라 블로그를 통해서도 정말 많은 도움 받았습니다!
다름이 아니고, endpoint에서 response_model로 adapter.input.api.v1.response 모듈과 application.dto 모듈 둘 다 사용하시던데, 어떤 기준으로 두 가지를 나눠서 사용했는지 알 수 있을까요?
response 모듈은 'API 응답', dto 모듈은 '애플리케이션 내부 데이터 전송 개체 정의'로 알고 있는데, 혹시 어떤 의도로 작성하신 걸까요?