실무에서 웹 서버 개발을 하게되면 다양한 환경에 서버를 배포하고 테스트 하게 된다. 보통은 로컬, 개발, 스테이지, 운영 환경 순서로 배포를 하고 테스트를 하게 되는데, Postman(https://www.postman.com/)의 환경변수 기능을 잘 활용하면 환경별 API 테스트를 좀 더 효율적으로 수행할 수 있다.
1. 환경(Environment) 추가하기
환경을 추가하기에 앞서 아래와 같은 4개의 환경 및 서버가 준비된 상황으로 가정하겠다.
환경 | 서버 URL |
local | http://localhost:8080 |
develop | http://api.todo-dev.com |
stage | http://api-stage.todo.com |
production | https://api.todo.com |
Postman을 실행한 후 오른쪽 상단을 보면 현재 환경과 관련된 정보를 볼 수 있다. 처음에는 등록된 환경 정보가 없기 때문에 No Environment 라는 문구가 보인다. 오른쪽의 톱니바퀴 모양의 버튼을 클릭하면 환경을 관리할 수 있는 창이 뜬다.
위 화면에서 Add 버튼을 클릭하면 아래처럼 새로운 환경과 환경변수를 등록할 수 있는 화면이 뜬다.
먼저 local 환경을 등록하기 위해 환경 이름 부분을 local로 입력해준다. 그 후 환경변수를 등록해야 하는데 여기서는 각 환경별 API Host 주소를 변수로 등록해서 사용 할 것이기 때문에 api-host 라는 이름으로 변수 이름을 입력하고 local 환경에 맞는 API Host 주소 값을 입력한다.
같은 방법으로 나머지 환경에 대해서도 환경 및 환경변수 등록을 진행한다. 여기서 한가지 주의 할 점은 모든 환경에서 동일한 이름으로 환경 변수를 사용할 것이기 때문에 변수 이름을 똑같이 설정해주어야 한다는 것이다.
환경을 전부 추가하고 나면 아래 화면 처럼 추가된 환경을 선택할 수 있도록 드롭다운 메뉴가 구성된다.
2. 환경변수 사용하기
설명을 위해 /hello api 를 호출하는 상황을 예시로 들겠다. 환경변수를 사용하지 않은 상태라면 보통 아래와 같이 api url을 입력하여 요청을 보낼것이다.
그러나 우리는 위에서 api-host 라는 환경변수를 등록 해두었기 때문에 host 부분을 변수로 대체하여 호출할 수 있다. 환경변수를 사용하기 위해서는 먼저 환경을 선택한 뒤
형태로 입력하면 된다.
환경변수를 입력하기 시작하면 아래처럼 현재 등록되어 있는 변수에 대한 자동완성 메뉴가 뜨고 설정되어 있는 값을 확인할 수 있다.
환경변수 입력과 api 경로(hello)까지 모두 입력을 한다. 이 상태에서 호출을 하게되면 local 환경에 등록되어 있는 api-host 변수의 값에 따라 http://localhost:8080/hello 로 요청이 가게 된다.
만약 다른 환경에 대해 동일한 API를 호출해보고 싶다면 간단하게 환경만 바꾸어 주면 된다. 아래처럼 환경을 stage로 바꾸면 http://api-stage.todo.com/hello 로 요청을 보내게 된다. 이렇게 환경변수를 정의해두면 클릭 한 번으로 쉽게 환경을 바꿔가면서 API를 테스트 할 수 있다.
3. 마무리
지금까지 Postman의 환경과 환경변수 기능에 대해서 간략하게 알아보았다. 환경변수 기능은 특히 여러 API를 테스트 해야 할 때 더욱 유용하게 사용된다. 이 포스트 에서는 환경별 API host 주소를 변수로 등록하는 과정을 예로 들었지만, 꼭 주소 뿐 아니라 환경별로 달라지는 값들(예를들어 주문번호, 상품번호, 회원번호 등등..)을 잘 식별한뒤 변수로 등록해 사용하면 API 테스트에 드는 시간을 많이 절약할 수 있을것이다.