1. 스프링 (백엔드 API) 코드 통합 작업
1-1. interfaces 디렉토리
작업 시 어노테이션, 상속받는 BaseController, HATEOS를 위한 Link객체, ResponseModel Return 을 명심할 것.
1-2. Database 디렉토리
사용 시 Package database
하위 webatoz(디비명)
-> board(테이블명)
으로 패키지 나눌 수 있도록 한다. 추가로 JPA가 아닌 다른 방식으로 디비에 붙는 경우를 위한 RepositoryCustom, RepositoryImpl 은 추후 사용 시 공유 예정
1-3. domain 디렉토리
Entity 객체는 테이블을 만든 것이므로 이 외에 데이터 조작 및 전달을 위한 데이터 그릇VO는 Domain에 작성한다. board에 쓰임이 많은 경우 board 디렉토리를 추가하여 만든다.
1-4. global 디렉토리
각종 Configuration, 어플리케이션에서 공통적으로 쓰이는 글로벌에러 등등을 모아 놓는 곳
1-5. util 디렉토리
util성 성격을 띄우는, 즉 여러 군데에서 사용될 수 있는 Codec과 같은 객체를 놓는 곳
대표 참고 코드는 다음과 같다.
BoardController
HeteoasSampleController
BoardRepository*
2. 코드 작성 시 리액트와 연동을 위한 유의사항
2-1. Update, Delete 시 객체 다시 리턴
리액트에서 API콜 한번 진행 후 리턴 값으로 다시 객체의 변화에 대한 값을 돌려 받아서 한번 더 API를 쏘지 않도록 자원 낭비를 최소화한다.
2-2. HATEOAS를 사용
Link 를 통한 자원 효율화
3. 추가 의견
작업 시 어렵거나 막히는 부분이 있다면 바로 질문 및 의견 공유. 어차피 모두 모르거나 조금 더 아는 사람만 있을 뿐.. 우리 모두 성장하자.