본문 바로가기

개발/Field-Passer 프로젝트8

[Field-Passer 프로젝트] SpringBoot 로그인 시 예외 처리하기 로그인 기능 구현이 생각보다 시간이 오래 걸렸다. 사실 기능 구현만 하는 건 쉬웠는데 예외처리도 하고 완성도를 높이려다 보니 부가적으로 할 것이 많았다. 처음 구현한 것 public AdminLoginVO adminLogin(AdminLoginRequestDTO admin, HttpSession session) { //회원 존재 확인 if (memberRepository.findAdminByEmail(admin.getEmail()).isPresent()) { Member member = memberRepository.findAdminByEmail(admin.getEmail()).get(); //비밀번호 일치 확인 if (member.getPassword().equals(admin.getPassword().. 2023. 1. 30.
[Field-Passer 프로젝트] Rest API에서 JSON 반환하기 로그인에 성공했을 때 아래와 같은 결과를 JSON으로 넘겨줘야 한다. 밑에 resultData만 넘겨줘야 하는 거면 responceDTO를 만들어서 그대로 반환하겠지만 resultCode도 같이 반환해야 하고 몇몇 형식은 resultData의 개수까지 반환하는 경우가 있기 때문에 어떻게 해야 편하고 쉽게 반환할 수 있을지 고민이었다. 그래서 이번 프로젝트에서는 VO를 사용하기로 했다. AdminLoginResponceDTO @AllArgsConstructor @NoArgsConstructor @Getter @Builder public class AdminLoginResponceDTO { private String email; private String profileImg; private String me.. 2023. 1. 29.
[Field-Passer 프로젝트] JPA 사용해서 Entity 설계하기 야침차게 시작한 사이드 프로젝트 Field-Passer의 개발 첫 삽으로 Entity를 설계해보도록 하겠다. 1. memeber 도메인 - 회원 서비스 1) Member 엔티티 MEMBER 테이블 MEMBER 테이블은 서비스의 근간이 되는 테이블이라고 생각한다. @AllArgsConstructor @NoArgsConstructor @Getter @Builder @Entity @Table(name = "MEMBER") public class Member { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID") private Integer memberId;// ----------> ① @Column(name = "EMAIL") pr.. 2023. 1. 29.
[Field-Passer 프로젝트] 패키지 구조 결정하기 프로젝트를 개발하기에 앞서 패키지 구조를 어떻게 할 지 생각을 해봤다. 1. 계층형 디렉터리 구조 계층형 구조는 각 레이어 별로 디렉토리를 나눈 구조다. 스프링 처음 배울때는 프로젝트를 계층형 구조로 많이 만들었다. 각 계층 별로 클래스도 몇 개 없었기 때문에 충분히 감당할 수 있었기 때문이다. 근데 이번 프로젝트는 그래도 하나의 서비스를 통으로 개발하는 거라 계층형 구조로 하면 한 계층에 클래스가 엄청나게 많이 생길 거 같았다. 그리고 나중에 MSA로 서비스 분리할 때도 힘들 거 같다는 생각이 들었다. 물론 MSA는 그냥 생각만 해본 거다. 2. 도메인형 디렉터리 구조 도메인형 디렉터리 구조는 구현하고자 하는 도메인 별로 디렉토리를 나눈 구조다. 디렉터리 구조만 보고도 도메인이 어떤 것들이 있는지 쉽게.. 2023. 1. 27.