MSA 프로젝트를 개발할 때 내가 개발하고 있는 API가 다른 서버를 호출해야한다면 개발이나 테스트 과정이 복잡해질 수 있다.
그럴 때 다른 마이크로서버를 로컬에서 띄워놓는 방법도 있겠지만, 포스트맨으로 필요한 API만 mocking한 mock 서버를 만들어 사용할 수 있다.
새로운 컬렉션 만들기
우선 워크스페이스 좌측 상단 + 버튼을 눌러 새로운 컬렉션을 만들어주자
Mock Server 만들기
우선 Mock Servers 아이콘이 보이지 않는다면, 화면 좌측 메뉴추가 버튼을 누르고 Mock servers를 눌러서 메뉴에 보이게 해주어야한다.
여기까지 됐다면, create mock server 버튼을 눌러서 목서버를 만들어주자
컬렉션은 위에서 만들었던 컬렉션을 선택해주고,
하단 "Save the mock server URL as an new environment variable" 체크박스를 눌러주면 목서버의 url이 environment url로 자동 등록된다.
여기까지하면 목서버 완성이다.
완성된 후 화면에 보이는 저 복잡해보이는 url이 목서버의 엔드포인트이다.
Mock API 만들기
이제 목서버를 만들었으니, 특정 요청을 보내면 특정 요청을 하는 Mock API를 만들 차례이다.
나는 studentId를 path variable로 주면, 학생의 아이디, 이름, 생년월일을 리턴하는 api를 만들어보겠다.
"{url}/students/{studentId}" 이렇게 요청하면 학생의 정보를 응답하게 할 것이다.
만든 컬렉션에 "Add request"로 새로운 요청을 만들어주고
그 새로운 Request를 우클릭해서 "Add example"을 눌러주자.
그리고 아래와 같이 예시를 적어준다.
아까 url을 환경변수로 자동세팅하는 옵션을 선택했기에, 내 목서버 환경으로 설정하면(우측 상단에서 선택 가능), "url"이라는 변수로 내 목서버 주소가 등록돼있다. (변수명이 마음에 안든다면 좌측 "Environment" 탭에서 바꿔주면 된다.)
이 example 부분에 요청과 응답 내용을 모두 적어주고
ctrl + s로 저장한 뒤, 우측에 보이는 파란색 "Try" 버튼을 눌러주자.
(자동 저장 옵션이 켜있다면 상관없지만, 꺼져있다면 꼭 수동으로 저장해줘야한다)
그러면 이렇게 요청이 보내진다!
제대로 되는지 보기 위해 2번 학생 정보를 주는 mock api도 추가로 만들어보겠다.
아래와 같이 만들고 저장해주었다.
아래와 같이, Mock API드링 정상적으로 응답하고 있음을 확인할 수 있다.
이렇게하면 MSA 환경에서 개발할 때도, 다른 마이크로서비스를 호출할 때의 url을 mock server url로 바꿔서 구동해주기만 하면 된다.
로컬로 여러대의 서버를 띄우는 방법은, 그 마이크로서버의 데이터를 다 준비해서 DB에 넣어놔야할 것이기 때문에 Mock Server를 만드는 편이 더 간단할 것 같다.
또 로컬에 여러개의 서버를 돌리는 것보다 cpu, 메모리 등의 자원을 훨씬 덜 잡아먹으니, 더 빠른 환경에서 개발할 수 있는 장점도 있을 것 같다.
Reference
'프로젝트 기록 > 기타' 카테고리의 다른 글
Linux에서 AWS-CLI 설정하기 (1) | 2024.12.12 |
---|---|
Linux 크론(Cron)과 크론탭(Crontab) (0) | 2024.12.12 |
[Redis AOF] AOF 설정한 Redis Docker Container 실행하기 (0) | 2024.12.10 |
[Docker] Docker Container 안의 파일을 로컬로 이동하기 (0) | 2024.11.20 |
일급 컬렉션(First Class Collection)에 대해 (1) | 2024.10.09 |