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 만들고 Key
는 IP
, Value
는 localhost
로 설정하고, Development
는 Key
는 IP
, Value
는 ooo.ooo.ooo.ooo
으로 설정합니다.
이제, 요청 보내기 전에 Environment를 Local
또는 Development
만 선택해주면 됩니다. 그럼 설정하는 방법에 대해서 간단하게 알려 드릴께요.
설정
1. Environment 추가
- Manage Environments > Add로 이동. (설정 메뉴는 우측 상단의 아래 이미지와 같은 모습으로 있고 톱니바퀴 버튼을 누르세요.)
그림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/users
를http://{{IP}}:10084/users
로 변경
- 예)
테스트
1. Environment를 Local
또는 Development
를 선택
그림2. Local로 선택한 화면
2. 변수가 적용되었는지 확인
그림3. ip에 대한 값이 localhost로 적용됨
3. Send
Send 버튼을 눌러서 API 요청을 보냄. Code 버튼을 누르면 요청한 데이터를 확인할 수 있음
그림4. localhost로 정상적으로 호출
결론
테스트할 API 수가 많고 서버계가 다양할 경우에 유용한 팁이 되지 않을까 합니다. Postman은 이 외에도 훌륭한 기능들이 많이 있습니다. 이 기능 외에 추천하는 기능이 있다면 기술표준화실 서영준 실장에게 연락 바랍니다.