서버 개발자라면 보통 제공하는 입장에서 개발을 할 것이다. 하지만 때로는 제공받는 경우를 고려해서 개발을 해야할 때도 있다. 그런데 만약 스펙만 존재하고 실제 동작하지 않는 API를 염두하고 해당 API의 데이터를 받는 부분을 개발해야 한다면 어떻게 해야할까? 이럴 때 필요한 것이 가상의 서버, 바로 Mock Server이다. 이번에는 Mock Server를 만들고 해당 서버에서 테스트 데이터를 받는 방법을 다뤄볼까 한다.
📮 Postman
포스트맨(Postman)은 우편집배원, 우체부를 뜻한다. 동시에 개발한 API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼이자 도구를 말하기도 한다. 주로 개발된 API를 테스트하기 위해 많은 개발자들이 사용하고 있을 것이다. 실무 뿐만 아니라 학습하는 분들도 많이 사용하고 있다. 포스트맨은 이런 API 테스트뿐만 아니라 Mock Server를 만들어 임의의 API를 만들 수 있도록 서비스를 제공하고 있다.
✍️ Example 만들기
Mock server를 만들기 전, 어떤 요청과 응답이 나올 것을 기대할 것인지 예제를 만들어야 한다. Postman 왼쪽에 Collections를 누르고 +(Plus) 버튼을 누르면 API 리스트를 모아놓을 수 있는 Collection이 생성된다. 생성된 Collection에 이름을 넣는다. (예시. My Sample API) 그리고 Add a request를 누른다.
이제 API를 추가해보자. 가상의 API를 하나 만들자. (예시. first api) 요청과 응답의 예시로 가상 API를 만들 예정이기에 More 버튼(점 3개)을 눌러서 Add example 버튼을 클릭하자.
만들어진 Example에 이름을 정하자. (예시. 기본적으로 생성되는 이름인 New Request를 그대로 사용했다.) 사용할 HTTP 메서드를 정하고 (예시. POST) 경로를 작성하자. (예시. {{url}}testapi/first) HTTP 메서드 오른쪽 URL 작성하는 부분에는 반드시 "{{url}}" 형태를 입력하고 구체적인 path를 입력한다. 나중에 Mock Server를 만들 때 생성되는 url이 여기에 들어가는 것으로 추정된다. 확실하지 않기 때문에 혹시 제대로 아는 분이 있다면 댓글에 남겨주면 본문을 수정하도록 하겠다. (+ 감사의 인사도 남기겠습니다. 미리 감사) 요청과 응답의 Headers를 아래와 같이 작성한다.
상단의 요청 부분
- Content-Type : application/json
하단의 응답 부분
- Content-Type : application/json
Headers는 입력했으니 이제 Body 부분을 입력하자. 아래와 같이 입력을 한다. 뒤에서 age와 name으로 구성된 요청 모델과 result와 username으로 구성된 응답 모델을 스프링에서 구현할 예정이다.
요청 Body : Type을 x-www-form-urlencoded으로 세팅할 것
- age : 22
- name : "John"
응답 Body : JSON으로 세팅할 것
{ "result":"GREAT", "username":"John"}
위와 같이 입력하고 Save를 한다.
✍️ Mock Server 만들기
API Example은 만들었으니 이제 진짜 Mock server를 만들 차례. 왼쪽에 Mock Servers를 클릭하고 오른쪽의 Select an existing collection을 선택하자. 그러면 이전에 생성한 Collection이 보일 것이다. 해당 Collection을 선택하자. (예시. My Sample API)
Collection을 선택하면 바로 Configuration 화면이 등장한다. Mock server name을 만들고 아래 Create Mock Server를 클릭하면 Mock server가 완성된다.
이제 Copy Mock URL을 클릭해서 Mock 서버의 URL을 복사하자. 상단에도 복사 버튼이 있다.
✍️ Mock Server 테스트
이제 만들어진 Mock server가 제대로 동작하는지 확인해보자. 미리 만들어놓은 Collection에서 준비해 놓은 Mock API 정보를 입력한다. HTTP 메서드(예시. POST)와 Mock servers에서 복사한 Mock URL(예시 생략), 그리고 이 URL 뒤에 붙일 Example의 path(예시. /testapi/first)를 입력한다. 그런 다음 Headers 탭에서 Content-Type을 입력한다.
Body 탭에서 Type과 Value 값을 입력하고 Send 버튼을 클릭하면 아래처럼 JSON 형태의 응답을 볼 수 있다.
여기까지 했으면 API 준비는 끝. 다음 포스팅에서는 스프링에서 이 API를 부르는 것을 해볼 예정이다. 바로 따라오도록 (ㅋ)
참고자료
- Postman, 어렵지 않게 사용하기 - Mock Server
ps. 캡처하고 편집하는게 꽤 귀찮지만 그래도 정리를 하니 뿌듯하구마잉
'Spring' 카테고리의 다른 글
스프링 게이트웨이에서 dev, prod 등 여러 환경 적용하기 (0) | 2021.10.07 |
---|---|
oauth 세팅 중 yml과 properties가 이해되지 않을 때, 스프링 시큐리티와 프로바이더 (0) | 2021.09.28 |
Postman에서 Mock Server과 API 만들고 테스트하기 (하) (0) | 2021.06.23 |
아파치 POI, 스프링에서 엑셀 만들기 (0) | 2021.06.18 |
Unsupported connection setting "MVCC" 이슈 (0) | 2021.05.20 |
Comment