Postman에서 변수를 사용하는 방법

RESTful API 서버를 테스트하는 도구로 Postman을 많이 사용하고 있습니다.

테스트 대상은 로컬 > 개발 > 검수 > 운영 서버가 있고 서버 IP가 다르기 때문에 테스트할 때 마다 요청 URL의 IP를 수정하거나 서버별로 컬렉션을 별도로 만들어서 사용하고 있습니다. 테스트할 API 수가 많을수록 귀찮고 관리하기가 어려워집니다.

이러한 문제를 해결하기 위해 Postman에는 환경변수를 설정해서 사용할 수가 있습니다.

예를 들면, http://localhost:10084/users라는 API를 localhost 대신에 {{IP}}라는 변수로 사용할 수가 있습니다. URL은 http://{{IP}}:10084/users로 되겠죠. 포트가 다르거나 context path가 다른 경우에도 적용할 수가 있겠네요.

변수 사용은 위의 예와 같이 중괄호 2개로 변수 앞뒤로 감싸주면 됩니다. {{IP}}, {{PORT}}, {{CONTEXT-PATH}} 처럼 사용하면 되겠네요.

변수 설정은 서버별로 Environment를 만들고 Key-Value 타입으로 변수를 설정합니다. Environment는 Local, Development, Staging, Production 등이 되고 각 Environment에 변수를 Key-Value 타입으로 만듭니다.

예를 들면, Local Environment 만들고 KeyIP, Valuelocalhost로 설정하고, DevelopmentKeyIP, Valueooo.ooo.ooo.ooo으로 설정합니다.

이제, 요청 보내기 전에 Environment를 Local 또는 Development만 선택해주면 됩니다. 그럼 설정하는 방법에 대해서 간단하게 알려 드릴께요.

설정

1. Environment 추가

  • Manage Environments > Add로 이동. (설정 메뉴는 우측 상단의 아래 이미지와 같은 모습으로 있고 톱니바퀴 버튼을 누르세요.)
    Imgur

    그림1. Manage Environments 영역

  • Environment Name을 Local로 입력하고 Key는 IP, Value는 localhost로 입력 후 Add 버튼 클릭
  • Environment Name을 Development로 입력하고 Key는 IP, Value는 서버IP로 입력 후 Add 버튼 클릭
  • Staging, Production도 필요하면 추가합니다.

2. API URL 변경

  • 테스트할 API의 URL을 변수로 변경합니다.
    • 예) http://localhost:10084/usershttp://{{IP}}:10084/users 로 변경

테스트

1. Environment를 Local 또는 Development를 선택

Imgur

그림2. Local로 선택한 화면

2. 변수가 적용되었는지 확인

Imgur

그림3. ip에 대한 값이 localhost로 적용됨

3. Send

Send 버튼을 눌러서 API 요청을 보냄. Code 버튼을 누르면 요청한 데이터를 확인할 수 있음

Imgur

그림4. localhost로 정상적으로 호출

결론

테스트할 API 수가 많고 서버계가 다양할 경우에 유용한 팁이 되지 않을까 합니다. Postman은 이 외에도 훌륭한 기능들이 많이 있습니다. 이 기능 외에 추천하는 기능이 있다면 기술표준화실 서영준 실장에게 연락 바랍니다.