Postman은 개발한 API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼이다. 해당 URL에 요청할 메소드를 지정할 수 있고, 호출에 필요한 파라미터 전달 장식을 설정할 수 있으며 결과도 빠르게 확인이 가능하다.
Postman은 테스팅하는 GUI툴로 개발 생산성을 높여주는 프로그램이다. 윈도우, 리눅스, macOS 모두 지원하고 앱을 설치해서 실행하면 된다.
HTTP메서드: HTTP메서드(GET,POST,DELETE,PATCH...)를 선택할 수 있다.
URL: API의 URL을 작성한다.
Send: API를 실행한다.
Save: API를 저장한다.
Params: URL 파라미터를 Key - Value 형태로 지정하면, URL에 Query Parameter 형식으로 추가해준다.
포스트맨의 모든 기능을 볼 수 있는 뷰 화면으로, 개인 workspace와 팀 workspace로 구분될 수 있다. 팀 워크스페이스는 구성원들과 공유하기 위한 것이며, 실시간으로 데이터가 동기화 된다.
위 이미지와 같이, Workspace에서 목적에 맞는 형태의 워크스페이스를 생성할 수 있다.
Collection은 요청(Request)을 그룹화한 단위이며, 모든 요청은 특정 Collection에 포함되어 있어야 한다.
Collection에 속한 모든 요청에 대해 통합 테스트를 실행할 수 있기 때문에, 하나의 Workspace 내에서 자유롭게 테스트를 세분화/조직화 할 수 있다.
포스트맨은 Coleection과 Environments를 타인과 공유할 수 있는 기능을 제공한다.
Collection 리스트 우측 더보기 버튼을 클릭하면 Share Collection으로 진입하거나 Export도 가능
우측 뷰 화면에서 Share 버튼을 클릭하면 수행할 수 있다.
어느 workspace로 옮길 것인지, 해당 collection에 대한 권한을 설정할지에 대해 설정할 수 있다.
실제로 API에 대해 Test를 해보려면, Request를 생성해줘야 한다.
위와 같이, 새로운 API Request 생성을 열어준다.
GET: 존재하는 자원에 대한 요청
POST: 새로운 자원을 생성
PUT: 존재하는 자원에 대한 변경
DELETE: 존재하는 자원에 대한 삭제
HEAD: 서버의 헤더 정보를 획득
OPTIONS: 서버 옵션들을 확인하기 위한 요청 (CORS에서 사용)
포스트맨을 사용하는 가장 큰 이유 중에 하나는
프론트엔드를 배제하고, 서버 프로그램이 들어온 API 요청에 대해서 제대로 동작하는지 확인하기 위함이다. 요청에 대한 결과는 Request 뷰 하단의 Response로 들어오게 되며, Collection 내에 저장하거나, JSON 파일로 다운로드 할 수 있다.
Response는 body와 header, 상태 코드로 구성되며, HTTP 기본 스펙을 포함하고 있다. 물론 커스텀 메세지를 추가할 수도 있다.
응답의 결과는 두 가지 방식으로 저장할 수 있는데, Send 버튼에서 save and download 를 누르거나 Save 버튼을 누르면 된다.
포스트맨은 Node.js 기반의 런타임을 포함하고 있어, Request와 Collection에 동적으로 동작을 추가할 수 있다. 이를 통해 동적 매개변수를 사용하거나, 요청간에 데이터를 전달하는 것이 가능하다. 이런 동적 작업을 수행하는 2가지 이벤트 흐름을 자바스크립트 코드를 작성할 수 있다.
- Pre-request Script: 요청이 서버로 보내지기 전에 실행할 내용을 작성하는 부분
- Tests Script: 응답이 반환된 후에 실행할 내용을 작성하는 부분
Script는 컬렉션의 모든 요청에 대해 항상 컬렉션 -> 폴더 -> 요청의 계층 구조에 따라 실행되며, 이는 Pre-request script와 test script에 모두 적용된다.