API와 문서와 Mock 서버
API를 만들면서 Swagger(OpenAPI3) 문서를 만들다가 생각했다
이걸 왜 만들고 있을까
(구) Front - API
=>
(신) Front - MOCK - API
- API 인터페이스와 모델만 정의하고 프론트 작업과 백엔드 작업을 동시 시작 가능
- 프론트 개발시 API 문서와 테스트를 붙이면서 개발 가능
- 백엔드 작업오류로 화면에서 오류가 나지 않음
- 정의된 규격대로 백엔드 테스트 API가 응답을 하는지 확인가능
- DEV 에서만 MOCK이 동작하고 REAL에서는 MOCK을 제거
- 같은 레이어에 LoadBalancer, GraphQL 등을 넣어줄 수 있을까
- https://openapi.tools/
- https://github.com/getkin/kin-openapi
- https://github.com/muonsoft/openapi-mock
- https://stoplight.io/mocking/
- https://www.mock-server.com/
- https://github.com/mock-server/mockserver
- http://wiremock.org/
- https://mockoon.com/
- mkckaroo.com
- faker - python, ruby, php
- faker.js
- github.com/Joshmoody/mock-data
조건
- API를 DSL로 모델 정의
- 개발시 MockServer - 응답머신 daemon서버, UnitTest서버
- 개발시 MockClient - Load 테스트
- Controller 레이어 자동화 Server레이어 연결 호출 또는 코드 생성
- DSL로 테스트 호출 - ex) 로그인 - 토큰받기 - 글쓰기 - 아이디 받기 - 글읽기 - 댓글쓰기 - 글삭제 - 탈퇴
- 운영시 Proxy, LB, GraphQL, GW, 인증 등등 역할