본문 바로가기
관리자

Programming-[Backend]/SpringBoot

[TIL] [패턴] 회원 활성화/비활성화, 수정 비즈니스 로직 구현

728x90
반응형

 

1. 구현 대상

회원 또는 활성화/비활성화 및 수정 비즈니스 로직이 필요한 경우. 예를 들어 아래와 같은 엔티티가 있다고 가정한다.

 

2. 구현 방식

2-1. Controller

수정을 목적으로 하므로, @PutMapping 처리를 해준다. 프론트 쪽에서 "v1/member" 주소로 MemberChangePo를 Http의 Body로 던져주고, Service에서 changeMemberInfo 메소드를 실행한다.

 

2-2. Service

여기가 패턴의 핵심이다. DB에서 어떤 객체의 Id값이 0일수 없으므로, id가 0일 때는 새로운 객체를 생성하도록 한다.

 

-> 210604 수정

: id == 0 으로 하되, null 일때의 방어 로직이 있어야 한다.

 

생성된 엔티티의 필드값들을 Po로 입력받은 값들로 정의하고 save하면 된다.

그 외의 경우에는 else 문으로 입력받은 memberId를 통해 DB에 존재하는 엔티티 객체를 불러오고, 그 객체의 값들을 Po로 입력받은 값들로 수정하고 save 한다.

 

3. id를 받아올 수 없는 상황일때

해당하는 엔티티 객체들을 모두 삭제하고, 받아온 엔티티 객체들을 모두 재등록한다.

728x90
반응형