본문 바로가기
👾 Server/🏭 배포

[의사결정] Mockup API Server 활용과 Postman Mock server 사용 (도입 이유와 기술 비교)

by kukim 2022. 4. 5.

Mockup API Server

Mockup(모형) API Server(Mock API라고도 함)는 말 그대로 가짜 API 서버이다. 클라이언트 요청에 실제 서버처럼 동작하기보다는 미리 저장된 데이터를 단순하게 돌려주는 형태이다. 다시 말해 이는 가짜 서버를 사용해 실제 서버와 통신하는 것처럼 만들 수 있다.

Mockup API 도입 이유

상황
Todo App 개발 프로젝트를 시작했다. 기획서만 주어졌다. API, DB 설계할 시간 없이 동시에 클라이언트(안드로이드), 백엔드 개발이 시작됐다. 

문제
API, DB 설계안 없이 시작하다 보니 클라이언트 개발자는 단순 view, 디자인을 그릴 수 있었지만 비즈니스 로직을 구현할 수 없었다. API 서버가 없기 때문이다. 백엔드 입장에서 당장 API 서버를 제공해주고 싶었지만 API, DB 설계할 시간과 서버 구현할 시간도 필요했다.

해결
이런 상황 속에서 Mockup API를 도입하기로 했다.
 아무것도 없는 상황에서 Mockup API를 간단하게 만들며 API와 DB를 설계를 동시에 했다. 또한 만들어진 Mockup API를 클라이언트 팀에게 전달하여 의견을 공유할 수 있었다. 

Mockup API 기술 선택

기술 장점 단점
Postman
- Mock Server
- GUI로 설치 없이 간단한 사용가능
- Postman 자체에서 Mock Server에 대한 URI 제공하여 서버 접속 가능
- API 문서화 제공
- 만들어 놓은 HTTP 요청들로 실제 서버 테스트 용도로도 사용할 수 있음
- 커스텀한 URI 설정이 어려움 (e.g. GET /api/todos/{id} 요청 시 {id}를 특정한 id로 지정해야함)
- Free 계정 시 월 API 요청 제한 (1000개)
Node.js
- JSON Server
- 프론트 엔드 개발자가 있다면 동일한 js 환경이기에 프론트 엔드가 수정하기 손쉬움
- 커스텀한 URI 설정 가능
- Json을 파일 단위로 관리할 수 있음
- 응답이 쉬움
- js 기초 지식이 있어야 함
- 외부 uri 사용하려면 배포를 따로해야함
Node.js
- express
- rest API server 자체
- spring API 서버보다 빠르게 만들 수 있음
- js 기초 지식이 있어야 함
- 외부 uri 사용하려면 배포를 따로해야함
- 위 기술들보다 비교적 더 오래걸림 (mock server라기 보다는 rest api server 자체)

상황에 따라 다르겠지만 비교적 Postman - Mock Server이 만들기 쉽고 다양한 기능을 제공하기에 적절해 보인다.

 

생각
- Mockup API는 비교적 간단하기 때문에 API 설계가 되어있고 API 서버가 아직 개발되지 않은 상황이라면 클라이언트 개발자가 스스로 만들어 사용할 수 있겠다는 생각이 든다.  
- 백엔드 입장에서 Mockup API와 API, DB 설계를 함께할 수 있다. 클라이언트 개발자가 마냥 기다리지 않도록 만들 수 있다. 

 

Postman을 활용한 Mock API Server 예

 


Reference

Postman을 활용한 Mock API Server 예(쿠킴, donggi)

2022 코드스쿼드 그룹 프로젝트 todo list - team01

Postman - Mock Server

Node.js - JSON Server

Background Image - @rocknrollmonkey

댓글