프로젝트가 종료될 때까지 해당 글의 내용은 수정될 수 있습니다.텀블벅이나 와디즈와 같은 크라우드 펀딩 플랫폼의 API 서버를 구축한다.이메일 주소와 패스워드를 입력하여 가입할 수 있다.네이버, 페이스북, 구글 등과 같은 외부 계정 연동을 하여 가입할 수 있다.이 경우,
프로젝트를 시작하기 앞서 ERD를 먼저 그려서 도메인 영역을 정의했다. 아래 항목들을 명심하며 그린다.도메인 설계하기 → 한 눈에 보이도록 영역 분리하여 구분컨벤션 지킬 것테이블 레벨의 PK와 FK가 아닌, 연관 관계를 맺어준다. (JPA의 연관 관계 생각)큼직하게 관
헥사고날 아키텍처를 적용하여 패키지 구조를 정리해봤다.시스템 구성과 동작원리 그리고 시스템의 구성환경 등을 설명하는 설계도이다.비즈니스 요구 사항을 만족하는 시스템을 구축하기 위해서 구조를 정의한 것.소프트웨어 응용 프로그램을 설계하기 위한 모델 또는 패턴을 의미'클린
들어가는 말 프로젝트에서 회원 상태나 성별을 Enum으로 관리하고 있다. Enum으로 관리한 값을 DB에 어떻게 매핑하여 저장할 것인가에 대해서 찾아보고 적용한 내용이다. 사전 준비 성별 Enum 먼저, 성별 쪽 Enum은 다음과 같다. 성별 코드는 “F” 와 “M”으로 결정했다. 원래는 Char를 써서 한 글자만 넣게 강제하려고 했는데, DB와 ...
들어가는 말 도메인 모델과 Entity를 만들다가 Birthday와 같은 날짜를 String이 아닌 날짜 형식으로 맞춰주는 게 좋다는 피드백을 들었다. String으로 하면 데이터의 타입이나 형식이 잘못 들어왔을 경우를 막기 어렵다. 물론, 검증 로직을 추가하면 되
들어가는 말 프로젝트에서 Rest Controller를 만들었을 때, ResponseEntity 를 사용해 반환하고 있었다. 내가 개발하는 것은 API 서버이기도 하고, MessageConverter를 사용해보는 것이 어떻겠냐는 피드백을 받아서 관련 내용을 검색 후 정리해봤다. HTTP message converter란? HTTP 요청 본문과 HTT...
들어가는 말 프로젝트에서 헥사고날 아키텍처를 중요하며 가장 중요한 것은 결합도를 떨어뜨리는 일이다. 도메인 계층과 외부 계층 혹은 외부 계층 간에 있어서, 각 계층은 다른 계층에 데이터를 전달할 때 DTO를 이용하여 데이터를 교환한다. 즉, 도메인 계층에서 사용하는 도메인 모델을 그대로 영속성 계층에 전달하는 것이 아니라, 두 계층 사이에 DTO를 두...
들어가는 말 프로젝트 구조를 설계하고 ERD를 그렸으니, 이제 API 문서를 작성하기로 했다. 요청값과 응답값은 임의로 하드코딩하여 간단한 API 동작을 구현할 것이다. API 문서 작성 툴 중에선 Spring REST Docs를 사용하기로 했다. Spring REST Docs는 테스트 코드가 필요해서 미리 API 규격을 잡아 놓는 데에 좋다고 생각한...
코드를 수정하고 PUSH 했는데, Commit 메시지에 오타가 있었다. 따라서 rebase로 커밋 메시지를 수정해보았다.커밋 메시지: satus 명칭 변경변경해야할 메시지: status 명칭 변경먼저, Git log 로 Commit한 내역을 확인했다.HEAD 위치 확인
계속해서 Spring Rest API 문서를 만들던 중 boolean형의 변수에서 문제가 생겼다.먼저 근본적인 문제와 여러 해결 방안들을 정리하고, 적용한 방안에 대해 적어보았다.그 이후 수정하면서 오류가 났던 순으로, mapstruct에서 생긴 문제와 테스트 코드에서
Spring REST Docs는 기본적으로 Asciidoctor를 사용한다.프로젝트에서 특정 경로에 adoc 확장자를 가진 파일을 생성하면, 빌드 시 HTML 파일을 만들어준다.나는 지금껏 index.adoc 이라는 기본 파일만 생성하여 사용하고 있었는데, API가 늘