API
개발 및 테스트를 위한 협업 플랫폼 중 하나로, 다양한 HTTP
요청을 보내고 응답을 확인할 수 있는 API 테스트 도구
이다.Postman
을 사용하면 브라우저나 개발자 도구를 사용하지 않고도 API 요청을 보내고,
- HTTP 요청 보내기
:GET
,POST
,PUT
,DELETE
등의HTTP 요청
을 보낼 수 있다.
- 요청 파라미터 설정
:HTTP 요청
에 필요한파라미터
를 쉽게 설정할 수 있다.
- 응답 확인
: HTTP 요청에 대한 응답을 확인하고,JSON
,XML
등의 다양한 형식으로 응답을 처리할 수 있다.
- 히스토리 관리
: 이전에 보낸 HTTP 요청과 응답을 저장하고, 다시 사용할 수 있다.
- 환경 변수 설정
: 서로 다른 환경에서 동일한 HTTP 요청을 보내야 하는 경우, 환경 변수를 설정해 간편하게 처리할 수 있다.
- API 문서화
: API 요청과 응답을 문서화하고, 다른 개발자와 공유할 수 있다.
Postman
은 무료로 사용할 수 있으며, 다양한 템플릿과 예제 코드를 제공해주어 사용자가 더욱 효과적으로 API를 테스트하고 개발할 수 있도록 도와준다.
Workspaces
에서 My Workspace
를 클릭한 후 +
를 눌러 테스팅을 시작하면 된다.먼저, 이미 만들어져 있는 API 서버가 주어지는 경우를 생각해 보자.
HTTP로 소통하기 위해서는 API 서버의 endpoint가 URL
로 주어져야 한다.
endpoint(엔드포인트)가 뭐에요?
endpoint
란, 웹 API에서 클라이언트가 서버에 요청을 보낼 때,
서버에서 요청을 수신하는 지점을 가리킨다. 즉, API의 주소를 의미한다.
- 일반적으로
endpoint
는URL
(Uniform Resource Locator)의 일부이다.
URL
은 인터넷 상의 위치를 특정하는 데 사용되는 문자열이며,endpoint
는 이 문자열의 일부로, 클라이언트가 서버에 요청할 때 필요한 정보를 포함한다.예시
- 새로운 탭 오픈
- 요청/응답을 여러 개 확인할 수 있다.
- HTTP 메서드 선택
GET
,POST
,DELETE
등과 같은 메서드 중 하나를 선택한다.
- URL 입력 창
URL
과Endpoint
를 입력한다.
- HTTP 요청 버튼
- 요청을 보낸다.
- HTTP 요청시 설정할 수 있는 각종 옵션
- 추가적인 파라미터나, 요청 본문(
body
)을 추가할 수 있다.
- HTTP 응답 화면
- 요청을 보낸 후 응답을 확인할 수 있다.
URL
http://3.36.72.17:3000/
메시지 조회
Request (요청)
요청
: kimcoding이 작성한 모든 메시지를 조회한다.GET /kimcoding/messages
- 추가적인 파라미터를 사용할 수 있다.
- 파라미터 정보
- parameter : roomname
- 형식 : 방 이름(문자열)
- 설명 : 특정 roomname만 조회
- 필수 포함 여부 : 필수 아님
Response (응답)
응답
은 다음과 같은JSON
형식이다.
- Request에 따른 Response 예시
[ { "id": 1, "username": "김코딩", "text": "안녕하세요", "roomname": "로비", "date": "2021-04-02 12:00:00" } // ...여러 개의 메시지 ]
- 메시지에서 사용하는 속성은 다음과 같다.
- 파라미터 정보
- id : 숫자, 고유한 아이디
- username : 문자열, 사용자 이름
- text : 문자열, 본문 내용
- roomname : 문자열, 방 이름
- date : 문자열, 작성한 시간
GET
요청은 브라우저에서 쉽게 테스트할 수 있고, URL
에 데이터를 추가하여 서버에 요청하고 응답을 받는 방식이다.POST
요청은 GET
요청과 달리 데이터를 본문(body
)에 포함시켜 서버에 요청하고 응답을 받는 경우가 많다. (보통 회원가입이나 로그인 등에서 사용된다고 한다.)body
)을 설정하는 방법은, HTTP 요청 설정 화면에 본문(body)
을 입력하면 된다. URL
http://3.36.72.17:3000/
메시지 추가
Request
- kimcoding이 새로운 message를 작성한다.
POST /kimcoding/messages
- 요청 본문에는 다음의 내용을 반드시 포함해야 한다.
- 요청 형식:
JSON
- 파라미터 정보
- username : 문자열, 사용자 이름, 필수
- text : 문자열, 본문 내용, 필수
- roomname : 문자열, 방 이름, 필수
Response
- 응답은 다음과 같은
JSON
형식이다.
- Request에 따른 Response 예시
{ "id": 5 }
id
는 숫자 형식이며, 새로 생성된 메시지의 고유한 ID 값이다.
POST
요청body
)에 담아 POST
요청을 보낸다.POST
요청을 보낸 결과한 번에 응답을 확인할 수 있다면 좋겠지만, 그렇지 않을 수도 있다.
다음과 같은 상황이 발생할 수 있다.
상황 1. 요청이 끝나지 않아요!
- 일반적으로 서버가 요청에 대한 응답을 하지 않는 경우, 요청이 끝나지 않는다.
이것은 서버의 문제이다. 만약 서버를 만드는 중이라면, 응답 처리를 했는지 확인해 보자!
상황 2. 기대했던 응답이 오지 않아요!
- 결과에 아무것도 나오지 않거나, 기대했던 값이 나오지 않았다면?
- HTTP 응답 코드를 확인해 보자!