inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

게시글 조회 2 - 응답 클래스 분리

Response 클래스

488

잠꾸

작성한 질문수 22

2

안녕하세요!

 

Response 클래스가 필요하다는 것은 잘 이해했습니다.

그런데 Response 클래스를 서비스가 아닌 컨트롤러에서 변환하는 것은 어떻게 생각하시나요?

 

서비스에서는 리포지토리에서 엔티티를 반환받아서, 컨트롤러에 엔티티를 전달하고 컨트롤러에서 엔티티를 Response로 변환하여 리턴하는 식으로 현재 개발을 해봤는데요.

 

생각을 좀 해보니까, 엔티티를 Response로 변환하는 것을 비즈니스 로직이라고 생각하면 서비스에 포함시키는게 맞는것 같고..

뭔가 Response는 화면UI 에 따라 자주 변할 수 있는 가능성이 많으니까 차라리 서비스는 항상 엔티티만 리턴하고 컨트롤러에서 UI에 맞게 변환만 해서 반환하는 것도 나쁘지 않다고 생각했는데요.

 

혹시 어떤 방법이 실무에서 자주 쓰이는지 궁금합니다.

Spring Security vuejs spring-boot JPA aws

답변 2

2

호돌맨

안녕하세요. 호돌맨입니다.
질문을 남겨주셔서 감사합니다.

현재 강의는 최대한 쉽게 설명 드리기 위해 서비스에서 response를 반환하고 있습니다.

제가 잘 개발하고자 한다면 Service는 web영역으로 구분 할 수 있는 Response를 알지 못하도록 개발할 것 같습니다.(그 반대로 Request관련 클래스도 Service가 모르게 할 것 같습니다.)
Service는 entity를 별도의 클래스(DTO)로 변환하여 Controller로 넘길것 같습니다. 그리고 그 DTO를 Controller에서 받은 뒤 Response 클래스로 변환 할 것 같습니다.

서비스에서 entity를 직접 Controller로 넘기지 않는 이유는 Response로 변환할 때 뒤 늦은 entity의 참조를 방지하기 위해서 입니다.

감사합니다.

0

bae jewoo

안녕하세요! 강의 재미있게 듣고 있습니다!

 

호돌맨님 답변중에

서비스에서 entity를 직접 Controller로 넘기지 않는 이유는

Response로 변환할 때 뒤 늦은 entity의 참조를 방지하기 위해서 입니다.
-> 이 이유는 연관관계가 있는 엔티티를 조회 시 지연로딩 때문이고 osiv를 false로 사용하기 때문일까요?

 

Deprecated 관련 사항들

0

103

2

깃헙 collaboator 초대 관련

0

88

1

강의 듣다가 도커 이미지 생성시 각각도 가능하나 그렇게 사용하는데가 많은지 모르겠다라는 말을 듣고 남김니다

0

157

2

logout 후에 login 페이지 이동은 어디서 시켜주는건가요?

0

233

1

다중 데이터를 삭제 할 때

0

271

2

querydsl Q class 이슈

0

415

2

Windows WSL Vue 설정

2

246

1

Dip, @transactional

0

189

1

[vite] http proxy error: /auth/login

0

1045

2

로그인 하고 나서 GET요청으로 메인페이지 요청

0

234

2

GitHub Collaborator 초대 관련

0

257

2

Window에서 Vue.js 설정

0

321

2

collaboator로 초대받을 수 있을까요??

0

283

2

SecurityMockContext 로부터 유저 정보를 가져오기

0

262

1

섹션9 프론트의 코드를 보고싶습니다,,,

0

423

1

Spring Security - defaultSuccessUrl 질문

0

626

1

강의 화면이 나오지 않습니다. 음성과 자막만 나와요

0

302

1

JPAQueryFactory(em)의 객체 생성자 오류에 대해서 질문이 있습니다ㅜㅜ

0

690

2

ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상

0

1180

2

섹션10 언제 나오나요?

0

485

1

CommentService에서 Repository를 호출하지 않는데도

0

343

1

Editor....를 활용한 패턴에 질문있습니다.

0

496

1

섹션9 vue

0

454

2

Post에 edit 메서드 삼항연산자 질문

0

475

2