[HTTP/네트워크] Postman

KIM DA MI·2023년 3월 30일
0

HTTP/네트워크

목록 보기
6/7
post-thumbnail

1. Postman이란?

  • API 개발 및 테스트를 위한 협업 플랫폼 중 하나로, 다양한 HTTP 요청을 보내고 응답을 확인할 수 있는 API 테스트 도구이다.
  • Postman을 사용하면 브라우저나 개발자 도구를 사용하지 않고도 API 요청을 보내고,
    응답을 확인할 수 있어 개발 및 테스트 과정에서 편리하게 사용할 수 있다.

2. Postman의 주요 기능

  • HTTP 요청 보내기
    : GET, POST, PUT, DELETE 등의 HTTP 요청을 보낼 수 있다.
  • 요청 파라미터 설정
    : HTTP 요청에 필요한 파라미터를 쉽게 설정할 수 있다.
  • 응답 확인
    : HTTP 요청에 대한 응답을 확인하고, JSON, XML 등의 다양한 형식으로 응답을 처리할 수 있다.
  • 히스토리 관리
    : 이전에 보낸 HTTP 요청과 응답을 저장하고, 다시 사용할 수 있다.
  • 환경 변수 설정
    : 서로 다른 환경에서 동일한 HTTP 요청을 보내야 하는 경우, 환경 변수를 설정해 간편하게 처리할 수 있다.
  • API 문서화
    : API 요청과 응답을 문서화하고, 다른 개발자와 공유할 수 있다.
  • Postman무료로 사용할 수 있으며, 다양한 템플릿과 예제 코드를 제공해주어 사용자가 더욱 효과적으로 API를 테스트하고 개발할 수 있도록 도와준다.

3. Postman 시작하기

3-1. 가입 및 설치

  • Postman에 회원가입을 한 후, 프로그램을 설치한다.

3-2. 환경 설정

  • Postman을 설치하면 다음과 같은 환경을 마주하게 된다.
    Workspaces에서 My Workspace를 클릭한 후 +를 눌러 테스팅을 시작하면 된다.
  • 아래의 이미지와 같이 보인다면 Postman를 사용할 준비가 되었다.

4. Postman 사용하기

  • 먼저, 이미 만들어져 있는 API 서버가 주어지는 경우를 생각해 보자.
    HTTP로 소통하기 위해서는 API 서버의 endpointURL로 주어져야 한다.

    endpoint(엔드포인트)가 뭐에요?

    • endpoint란, 웹 API에서 클라이언트가 서버에 요청을 보낼 때,
      서버에서 요청을 수신하는 지점을 가리킨다. 즉, API의 주소를 의미한다.
    • 일반적으로 endpointURL(Uniform Resource Locator)의 일부이다.
      URL은 인터넷 상의 위치를 특정하는 데 사용되는 문자열이며, endpoint는 이 문자열의 일부로, 클라이언트가 서버에 요청할 때 필요한 정보를 포함한다.

      예시


4-1. Postman 화면 보기

  • 다음 그림을 보고 포스트맨의 화면 구성을 확인한다.

    1. 새로운 탭 오픈
      • 요청/응답을 여러 개 확인할 수 있다.

    2. HTTP 메서드 선택
      • GET, POST, DELETE 등과 같은 메서드 중 하나를 선택한다.

    3. URL 입력 창
      • URLEndpoint를 입력한다.

    4. HTTP 요청 버튼
      • 요청을 보낸다.

    5. HTTP 요청시 설정할 수 있는 각종 옵션
      • 추가적인 파라미터나, 요청 본문(body)을 추가할 수 있다.

    6. HTTP 응답 화면
      • 요청을 보낸 후 응답을 확인할 수 있다.

4-2. GET 요청하기

  • 아래와 같은 API 문서가 있다고 가정해보자.

GET를 사용하는 API 문서

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 : 문자열, 작성한 시간

POSTMAN에서 GET 요청

POSTMAN에서 GET 요청을 보낸 결과



4-3. POST 요청하기

  • GET 요청은 브라우저에서 쉽게 테스트할 수 있고, URL에 데이터를 추가하여 서버에 요청하고 응답을 받는 방식이다.
  • 반면 POST 요청은 GET 요청과 달리 데이터를 본문(body)에 포함시켜 서버에 요청하고 응답을 받는 경우가 많다. (보통 회원가입이나 로그인 등에서 사용된다고 한다.)
  • 본문(body)을 설정하는 방법은, HTTP 요청 설정 화면에 본문(body)을 입력하면 된다.

POST를 사용하는 API 문서

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 값이다.

POSTMAN에서 POST 요청

  • 새로운 메시지를 본문(body)에 담아 POST 요청을 보낸다.

POSTMAN에서 POST 요청을 보낸 결과



4-4. 응답 살펴보기

  • 한 번에 응답을 확인할 수 있다면 좋겠지만, 그렇지 않을 수도 있다.
    다음과 같은 상황이 발생할 수 있다.

    상황 1. 요청이 끝나지 않아요!

    • 일반적으로 서버가 요청에 대한 응답을 하지 않는 경우, 요청이 끝나지 않는다.
      이것은 서버의 문제이다. 만약 서버를 만드는 중이라면, 응답 처리를 했는지 확인해 보자!

    상황 2. 기대했던 응답이 오지 않아요!

    • 결과에 아무것도 나오지 않거나, 기대했던 값이 나오지 않았다면?
      • HTTP 응답 코드를 확인해 보자!

0개의 댓글