본문 바로가기
SW 개발/REST API

무료 REST API 테스트 프로그램: Postman (설치, 활용법)

by Kibua20 2020. 12. 5.

RESP API를 사용하는 클라이언트를 개발하는 경우 서버와의  API 인증과 동작을 먼저 확인 후 파이썬, 자바, NodeJS, PHP 등의 언어로 소스 코드를 작성하는 경우가 많습니다. 이러한 목적으로 전통적인 curl 사용하여 다양한 옵션으로 API를 테스트할 수 있지만, command line 기반의 툴이기 때문에 많은 '타이핑'이 필요합니다. 

 

Postman은 REST API 설계, 개발, 테스팅하는 GUI 툴로 개발 생산성을 높여주는 프로그램입니다. 윈도우 뿐 아니라, 리눅스와 macOS의 설치 프로그램을 지원하며,  Web 환경 하에서도 Web Postman 사이트를 통해서 로컬 PC의 설치 프로그램과 동일한 기능을 사용할 수 있습니다.  여러 개의 PC를 사용하는 경우 Web Postman은 유용할 것으로 생각됩니다.

 

비용 관련해서는 개인 사용 목적인 경우 무료입니다. 다만, 팀업 관련된 Collection Sync, API 모니터링 기능은 유료 서비스입니다.

Postman 기능 소개
Postman 무료/유료 기능

 

Postman 설치 

Postman 설치는 www.postman.com 사이트에서 계정 등록을 먼저 진행해야 합니다. 계정을 등록하고 Postman app을 www.postman.com/downloads/ 에서 다운로드하고  tar로 압축을 풀고 'Postman' 프로그램을 실행하면 동작합니다. 

 

  1. 계정 등록
  2. 프로그램 다운로드 압축 파일: www.postman.com/downloads/
  3. 압축 해제:  (우분투 ) $ tar -xvf Postman-linux-x64-7.36.0.tar.gz
  4. 압축 해제된 폴더에서 'Postman' 실행

Postman 계정 등록
Postman 다운로드
Postman 압축 풀기: 실행 파일은 최 상위 폴더에 위치

 

Postman 실행 및 API 테스트

로컬 PC에서 압축을 풀고  Postman을 실행하거나, Web Postman 사이트를 접속하면 아래와 같은 화면이 나옵니다.  REST API를 테스트 하기 위해서는 아래와 같이 진행합니다.  

 

curl 명령어

curl -X GET https://www.example.com/api  -H 'Authorization: Bearer YOUR_ACCESSTOKEN'

 

Postman활용

  1. 좌측 메뉴화면에서 API를 선택 
  2. REST API endpoint URL 입력 -  https://www.example.com/api
  3. Authorization에서 OAutho 2.0 선택 후 YOUR_ACCESSTOKEN 입력 
  4.  Send 버튼을 누름: API 동작에 대한 서버 응답을 확인
  5. Code로 변환: 개발하는 Client 프로그래밍 언어를 선택하고 code를 복사

Postman으로 API 테스트 및 동작 확인
Postman에서  python code로 변경

 

Postman에서 Workspace 및 Collection 활용

Postman에서는  Collection 과 Workspace을 지원합니다.   좌측 메뉴에서 Collection이나 Workspace을 생성, 삭제, 변경할 수 있고 마우스 클릭으로 이름도 변경할 수 있습니다.   여러 서버를 동시에 검증하는 경우 Workspace를 활용하여 history를 잘 정리하면 유용할 것으로 보입니다.  ※ 팀 별로 작업하는 경우 Workspace 이나 collection 단위로 공유가 가능한 것 같습니다. 

Postman의  Collection 과  Workspace 기능 지원

 

Web Sync 기능 

로컬에 설치된 Postman과 Web 기반의 Postman을 sync하기 위해서 상단에 온라인 아이콘을 실행해야 합니다. 

 

API 항목은 저장을 할 수 있으나 access token이나 QueryParameter까지 저장은 안되는 것 같습니다. Web 버전에서는 HTTP에서는 에러가 발생하고, HTTPS 연결만 허용하며, POST 사용 시 BODY 내용을 설정할 수가 없는 제한점이 있습니다.  웹 버전에 대해서 기대가 많았으나 다소 아쉬움으로 남습니다. 

Postman web sync 기능

 

Postman에서 POST method로 Body에 JSON Data 전송

Postman 에서 POST method를 Data를 보내기 위해서는 아래와 같이 세팅해야 합니다.  curl 명령어로는 -X POST 와 -d 옵션에 해당합니다. 

 

$ curl -X POST http://example.com/api \

            -H ‘Content-Type: application/json’ \
          -d ‘{ “aspect_type”: “create”, “event_time”: 1549560669, “object_id”: 0000000000, “object_type”: “activity”,    “owner_id”: 9999999, “subscription_id”: 999999 }’

 

  1. POST 옵션에   API 의 endpoint URL 를 입력한다.
  2. Body선택
  3. Raw 선택
  4. 데이터 type을 JSON 으로 선택

Postman에서 POST method로 Body에 JSON Data 전송

 

관련 글

[모바일 SW 개발/REST API] - 자주 사용하는 curl 명령어 옵션과 예제

[모바일 SW 개발/REST API] - 공공 데이터 Open API 사용법: 코로나 확진자 현황 API (sample code)

[모바일 SW 개발/Python] - Python: xmltodict를 활용하여 XML를 JSON으로 변환하는 방법

[개발환경/Web Server] - Website 전체 백업 방법: HTTrack (티스토리 백업에 활용)

[개발환경/우분투] - Docker 개념과 명령어 사용 방법 및 예제

[모바일 SW 개발/Python] - Python: JSON 개념과 json 모듈 사용법

[개발환경/Web Server] - 우분투 20.04에서 lighttpd의 fastcgi 개념 및 사용법

[개발환경/Web Server] - 우분투 20.04에서 lighttpd Web Server 설치 (Embedded용으로 활용 가능)

[모바일 SW 개발/REST API] - JWT(JSON Web Token) Encoding 방법 (Python sample code)

[모바일 SW 개발/REST API] - Service Account(JWT)을 활용한 Google Calendar API 사용

[모바일 SW 개발/REST API] - Google Gmail API 사용 방법 (2) - Sample code




댓글