포스트맨 공식 사이트에서 해당 플랫폼을 다운받을 수 있다. 이메일을 이용해서 직접 계정을 생성할 수 있으며 구글 계정으로도 가입이 가능하다.
필자는 MacOS 운영체제를 사용중이기 때문에 다운로드 페이지에 접속하면 위와 같은 화면이 나온다. 옛날에는 Intel 칩과 Apple 칩의 구분이 없었던 것 같은데 M1이 출시하면서 세분화 된 것 같다. 윈도우 운영체제를 이용중인 사용자들은 아마 윈도우 운영체제에 맞는 앱을 다운받을 수 있을 것이다.
설치가 완료된 후 포스트맨을 실행하면 바로 이용할 수 있다.
(로그인이 되지 않은 경우 로그인 인증을 요구할 수 있다. 포스트맨의 In Sync 기능을 사용하기 위해서는 로그인을 하는 것이 좋다.)
Hwo to use Postman?
포스트맨에 정상적으로 로그인 한 경우 위와 같은 화면이 뜬다.Overview옆의+버튼을 통해서 API 테스트를 진행할 공간을 만들 수 있다.
이제 포스트맨의 기능을 조금 더 자세하게 살펴보고자 한다.
해당 부분은 API 요청을 위한 주소를 입력하는 공간이다. 필자는 예시로localhost:3000을 미리 입력해놓았다.GET부분은 요청 메서드를 정의하는 드롭다운 메뉴로 우리가 흔히 아는 GET, POST, DELETE 등과 같은 여러 메서드가 존재한다.
해당 부분에서는 데이터를 담아 보낼 때 필요한 Body 부분에 대해서 다루고자 한다.
데이터를 담아 요청을 보내는 Body는 크게 6가지 타입으로 분류할 수 있다.
none: 기본 세팅값이며 GET 요청과 같이 아무 데이터를 보내지 않을 때 사용
form-data: 이미지나 영상과 같은 파일을 전송할 때 사용한다. 예를 들면 게시물을 올릴 때 사진을 같이 등록하는 것과 같이 특정 파일 전송 시에 사용되는 타입이다.
x-www-form-urlencoded: 텍스트만 보낼 때 사용한다. 즉, 파일 첨부는 없다.
raw: 문자 그대로를 전송한다. 다른 타입의 경우에는 포스트맨이 알아서 처리를 해주지만 raw는 개발자가 정한 형식에 맞는 값을 써주어야 한다.
이런 식으로raw를 선택하면 형식을 정의할 수 있다. 예를 들어 JSON 형식으로 설정했다면 Request 요청 시 데이터의 형식이 JSON 형태로 들어와야 한다는 뜻이다.
binary: 텍스트를 포함하지 않는 이미지, 영상 등의 파일을 보낼 때 사용한다.
GraphQL: 페이스북에서 만든 Query Language 이다. Client가 Server의 데이터를 효율적으로 가져올 소요가 있을 때 사용한다. 쿼리문을 작성해서 요청할 수 있다.
하단 부분은 API 요청 시 결과가 나타나는 공간이다. 400, 200등과 같은 응답 코드와 Response로 전달할 데이터를 나타낼 수 있으며 또는 Response시 전달할 메세지를 응답할 수도 있다.
Node.js를 이용하여 Postman 직접 사용해보기
간단하게 node.js 개발 환경을 구축해서 postman을 이용하여 직접 API 테스트를 해 볼 것이다. 우선 노드 환경을 구축하기 위해npm init명령어를 통해 초기 환경을 구성하고
npm install express --save를 통해서 express 개발 환경을 구성한다.
그 다음으로는index.js파일을 생성하여 아래와 같이 코드를 작성하고node index.js명령어를 이용하여 서버를 실행한다. 요청 경로는localhost:3000으로 통일하여 테스트를 진행했다.
StatusCode 200과res.send()에서 정의한 메세지가 적절하게 응답으로 오는 것을 확인할 수 있다.
POST 요청 수행 결과
POST요청은 Body에 JSON 형식의 데이터를 담아서 보냈다. 요청에 대한 결과 메세지도 알맞게 출력한 것을 확인할 수 있다. POST 요청 시 위와 같이 데이터를 담아 보내는 것은로그인, 회원가입등의 기능을 구현할 때 많이 사용된다.
PUT, DELETE 등의 메서드는 따로 구현하지 않았지만 GET, POST와 동일하게 로직을 구현한 뒤 요청을 보내면 잘 작동하는 것을 확인할 수 있을 것이다. 데이터베이스를 연동하지 않았기 때문에 변경하거나 삭제할 데이터가 존재하지 않아서 다루지는 않았지만 직접 데이터베이스와 연동해서 여러 API 테스트를 진행해보는 것을 추천한다.