화면을 템플릿 엔진으로 만드는 경우도 많지만 요즘에는 Vue.js 나 React 같은 싱글페이지 애플리케이션을 가지고 많이 개발합니다.

그래서 예전처럼 서버에서 다 렌더링해서 HTML 을 내리는 게 아니라 프론트엔드 엔지니어들이 해결을 하고 있죠.

그래서 서버 개발자 입장에서는 API 통신을 하는 경우가 많아졌습니다.

특히 추세가 마이크로서비스 아키텍처로 바뀌면서 더 API 로 통신해야 될 일이 점점 늘어나게 됐죠.

그래서 API 를 잘 설계하고 개발하는게 중요해졌습니다.

예전에는 단순하게 SQL 써서 API 를 끌어오는 스타일이 아니라 JPA 를 사용하면서 Entity 란 개념이 생겼습니다.

그래서 API 만드는 것도 완전 다른 차원의 이야기로 돌아갑니다. 그래서 주의해야할 것도 많아졌죠.

JPA 를 사용하면서 API 를 만들 때 어떤 식으로 하는 게 좀 더 올바른 방향인지 한번 정리를 하도록 하겠습니다.

포스트맨 설치

회원 등록 API

앱을 위한 회원 등록 API에 대한 요구사항이 들어왔습니다.

먼저 템플릿 엔진을 사용해서 랜더링하는 컨트롤러와 API 스타일의 컨트롤러를 분리합니다. 왜냐면 공통으로 예외처리를 할 때 패키지나 구성단위로 공통처리를 많이 하기 때문이죠.

api와 화면은 공통으로 처리해야 되는 부분이 많이 다릅니다.