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. 추가 의견

작업 시 어렵거나 막히는 부분이 있다면 바로 질문 및 의견 공유. 어차피 모두 모르거나 조금 더 아는 사람만 있을 뿐.. 우리 모두 성장하자.