화면을 템플릿 엔진으로 만드는 경우도 많지만 요즘에는 Vue.js 나 React 같은 싱글페이지 애플리케이션을 가지고 많이 개발합니다.
그래서 예전처럼 서버에서 다 렌더링해서 HTML 을 내리는 게 아니라 프론트엔드 엔지니어들이 해결을 하고 있죠.
그래서 서버 개발자 입장에서는 API 통신을 하는 경우가 많아졌습니다.
특히 추세가 마이크로서비스 아키텍처로 바뀌면서 더 API 로 통신해야 될 일이 점점 늘어나게 됐죠.
그래서 API 를 잘 설계하고 개발하는게 중요해졌습니다.
예전에는 단순하게 SQL 써서 API 를 끌어오는 스타일이 아니라 JPA 를 사용하면서 Entity 란 개념이 생겼습니다.
그래서 API 만드는 것도 완전 다른 차원의 이야기로 돌아갑니다. 그래서 주의해야할 것도 많아졌죠.
JPA 를 사용하면서 API 를 만들 때 어떤 식으로 하는 게 좀 더 올바른 방향인지 한번 정리를 하도록 하겠습니다.
앱을 위한 회원 등록 API에 대한 요구사항이 들어왔습니다.
먼저 템플릿 엔진을 사용해서 랜더링하는 컨트롤러와 API 스타일의 컨트롤러를 분리합니다. 왜냐면 공통으로 예외처리를 할 때 패키지나 구성단위로 공통처리를 많이 하기 때문이죠.
api와 화면은 공통으로 처리해야 되는 부분이 많이 다릅니다.