프론트엔드 개발을 하다보면 서버와 백엔드 API가 완성되지 않아 API 요청부가 필요한 부분을 개발하지 못하는 상황이 발생한다. 이럴 때 데이터를 받아와 렌더링 하는 부분을 하드코딩 하거나, 해당 부분은 패스하고 다른 부분을 먼저 개발하는 방법으로 해결한다. 또 다른 해결 방법으로는 mocking server를 사용하는 것인데, 가장 현명하고 똑똑하게 해결할 수 있는 방법이라 생각된다.
Mocking server, 또는 Mock API는 소프트웨어 개발 과정에서 실제 서버나 API를 대체하여 사용할 수 있는 가상의 서버 또는 API를 말한다. 쉽게 말해 요청-응답을 받아야 하는 서비스에서 아직 개발되지 않은 서버 또는 존재하지 않는 서버로 요청을 보낼 때 사용할 수 있는 가짜 서버(API)이다.
본래 서버는 클라이언트의 요청을 받아서, 해당 요청에 대한 로직을 수행 후 적절한 응답 값을 반환하지만 Mocking Server는 개발자가 직접 응답 값을 지정하여 요청에 대한 응답 값을 받을 수 있도록 해준다. 즉, 엔드포인트를 알고 있다면 해당 엔드포인트로 보내는 요청에 대한 응답 값을 프론트엔드 개발자가 막힘 없이 개발할 수 있도록 해주는 것이다.
이 Mocking Server(API)를 이용하면 프론트엔드에서 굳이 하드코딩을 하거나, 개발 과정을 생략하거나, 삽질하며 나중에 실제로 개발된 백엔드 엔드포인트 및 사양에 맞게 일일이 수정할 필요 없이 설계된 대로 개발을 해두고, 나중에 Mock 환경만 실제 프로덕션 환경에 맞게 바꿔주면 된다.
Mocking Server를 사용할 수 있는 서비스로는 Postman, Swagger, Wiremock, JSW 등이 있는데 그 중에서 가장 간단하게 사용할 수 있는 가짜 서버이다. 내 서비스에 필요한 목업 데이터가 담긴 json 파일과 서버 구동에 필요한 몇 가지 라이브러리만 있으면 mocking server를 구동시킬 수 있고, 자동으로 엔드 포인트도 반환해준다.