강의

멘토링

로드맵

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

김지훈님의 프로필 이미지
김지훈

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

회원 등록 API

회원가입 시 비밀번호 입력에 대한 질문

해결된 질문

작성

·

227

0

안녕하세요 영한님 질문이 있습니다.

회원가입을 할 때 비밀번호를 입력하는 예제를 만들어 보려고 합니다.

회원가입 시에 비밀번호를 입력하고 비밀번호 확인을 입력하여 둘이 같으면 회원가입을 요청하도록 로직을 짜려고 하는데, 이 로직을 어느 계층에 넣어야 할지 고민이 됩니다.

비밀번호 확인이라는 칼럼을 멤버 클래스에 추가하지 않고 클라이언트에서 넘겨준 데이터를 확인만 하고 버리려고 하는데 그러면 MemberApiController에서 직접 처리를 해야하는 걸까요?

감사합니다.

퀴즈

API 개발에서 JPA 엔티티 객체를 요청 파라미터나 응답 값으로 직접 사용하는 것을 지양해야 하는 주된 이유는 무엇일까요?

데이터베이스 성능이 저하되기 때문입니다.

API의 스펙이 엔티티의 변화에 직접적으로 영향을 받기 때문입니다.

클라이언트 측의 데이터 파싱 로직이 복잡해지기 때문입니다.

네트워크 전송량이 불필요하게 증가하기 때문입니다.

답변 2

1

김지훈님의 프로필 이미지
김지훈
질문자

명쾌한 답변 감사합니다!

1

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

안녕하세요. 지훈님

우선 비밀번호 확인이라는 컬럼이 정확하게 어떤 의도인지는 모르겠지만, 멤버 엔티티에 추가하는 것은 좋지 않다 생각합니다. 요청용 파라미터(DTO)를 별도로 만들고 이것을 적절한 계층에서 처리하는게 더 좋다 생각합니다.

이 경우 비밀번호가 같다는 단순한 검증 로직은 컨트롤러에서 할 수도 있고, 서비스에서도 할 수 있을 것 같아요.

감사합니다.

김지훈님의 프로필 이미지
김지훈

작성한 질문수

질문하기