Postman 사용법 완벽 가이드: GET, POST, PUT, DELETE 실습부터 컬렉션까지
Postman 설치는 완료했지만 어떻게 사용해야 할지 막막하신가요? 이 가이드에서는 Postman의 기본 인터페이스부터 GET, POST, PUT, DELETE 요청 실습, 컬렉션 관리, 환경 변수 설정까지 실무에서 바로 활용할 수 있는 모든 내용을 다룹니다.
목차
Postman 인터페이스 이해하기
Postman을 처음 실행하면 다양한 메뉴와 버튼들이 보입니다. 먼저 핵심 영역들을 파악해봅시다.
메인 화면 구성
1. 왼쪽 사이드바
- Collections: API 요청을 폴더로 구조화
- History: 최근 실행한 요청 기록
- Environments: 환경 변수 관리
2. 중앙 작업 영역
- Request Builder: API 요청 작성
- Response Viewer: API 응답 확인
3. 상단 바
- New: 새 요청/컬렉션 생성
- Import: 외부 파일 가져오기
- Runner: 컬렉션 일괄 실행
4. 우측 상단
- Account: 계정 및 설정
- Environment Selector: 환경 변수 선택
첫 번째 API 요청 보내기 (GET 메서드)
가장 기본적인 GET 요청부터 시작해봅시다.
GET 요청이란?
서버로부터 데이터를 가져오는(조회하는) HTTP 메서드입니다. 데이터를 변경하지 않는 안전한 요청입니다.
실습: JSONPlaceholder로 GET 요청
JSONPlaceholder는 무료 테스트용 REST API를 제공합니다.
1단계: 새 요청 만들기
- 좌측 상단의 “New” 또는 “+” 버튼 클릭
- “HTTP Request” 선택
- 새 탭이 열립니다
2단계: HTTP 메서드 선택
- 왼쪽 드롭다운에서 GET 선택 (기본값)
3단계: URL 입력
https://jsonplaceholder.typicode.com/posts
4단계: Send 버튼 클릭
하단에 응답이 나타납니다:
json
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere...",
"body": "quia et suscipit..."
},
...
]
```
### 응답 탭 이해하기
응답 필드에는 결과 또는 오류가 발생한 경우 이를 포함하는 API의 전체 응답이 포함됩니다 .
**① Body 탭**
- Pretty: JSON을 보기 좋게 포맷
- Raw: 가공되지 않은 원본 데이터
- Preview: HTML 응답을 렌더링
- Visualize: 데이터 시각화
**② Cookies 탭**
- 서버가 설정한 쿠키 확인
**③ Headers 탭**
- 응답 헤더 정보 (Content-Type, Server 등)
**④ Test Results 탭**
- 테스트 스크립트 실행 결과
**⑤ Status**
- 200 OK: 성공
- 응답 시간 (예: 324ms)
- 응답 크기 (예: 5.6 KB)
### Query Parameters 사용하기
GET 요청에서 데이터를 필터링할 때 사용합니다.
**예시: 특정 사용자의 게시물만 가져오기**
```
https://jsonplaceholder.typicode.com/posts?userId=1
```
Postman에서는 더 편리하게 설정할 수 있습니다:
1. **Params** 탭 클릭
2. Key-Value 형식으로 입력:
- Key: `userId`
- Value: `1`
3. **Send** 클릭
Postman이 자동으로 URL을 생성합니다!
### Path Parameters 사용하기
URL 경로에 변수를 넣는 방식입니다.
**예시: 특정 게시물 하나만 가져오기**
```
https://jsonplaceholder.typicode.com/posts/1
1번 게시물의 데이터만 반환됩니다:
json
{
"userId": 1,
"id": 1,
"title": "sunt aut facere...",
"body": "quia et suscipit..."
}
```
## POST 요청 실습 (데이터 생성)
POST는 GET과 달리 query string으로 요청하지 않고 Body로 데이터를 전송합니다 .
### POST 요청이란?
서버에 새로운 데이터를 생성(등록)하는 HTTP 메서드입니다.
### 실습: 새 게시물 작성하기
**1단계: HTTP 메서드 변경**
- 드롭다운에서 **POST** 선택
**2단계: URL 입력**
```
https://jsonplaceholder.typicode.com/posts

3단계: Body 탭 선택
4단계: Body 타입 선택
- raw 선택
- 오른쪽 드롭다운에서 JSON 선택

5단계: JSON 데이터 입력
json
{
"title": "Postman 사용법 배우기",
"body": "Postman으로 API 테스트를 쉽게 할 수 있습니다!",
"userId": 1
}
6단계: Send 버튼 클릭

응답:
json
{
"title": "Postman 사용법 배우기",
"body": "Postman으로 API 테스트를 쉽게 할 수 있습니다!",
"userId": 1,
"id": 101
}
```
서버가 자동으로 `id: 101`을 할당해 생성을 확인해줍니다!
PATCH 요청 실습 (부분 수정)
3단계: Body 입력 (수정할 필드만)
json
{
"title": "PATCH로 수정한 제목"
}
4단계: Send
Request Body에 수정을 원하는 필드만 포함하여 요청을 전송합니다 Devpro.
응답:
json
{
"userId": 1,
"id": 1,
"title": "PATCH로 수정한 제목",
"body": "기존 내용 유지"
}
```

3단계: Send
DELETE는 일반적으로 Body가 필요 없습니다.
응답:
json
{}
```
또는 상태 코드 `204 No Content` 반환
## 요청 저장하기
매번 URL과 설정을 입력하는 것은 비효율적입니다. 요청을 저장해봅시다.
### 개별 요청 저장
**1단계: Save 버튼 클릭** (또는 Ctrl/Cmd + S)
**2단계: 요청 정보 입력**
- **Request name**: 게시물 목록 조회
- **Request description**: 모든 게시물을 가져옵니다 (선택사항)
**3단계: 저장 위치 선택**
- 기존 컬렉션 선택 또는
- **+ Create Collection** 클릭
**4단계: Save** 버튼 클릭
이제 왼쪽 사이드바의 컬렉션에서 언제든 다시 실행할 수 있습니다!

환경 전환하기
- 우측 상단 Environment selector (눈 모양 아이콘 옆)
- 드롭다운에서 원하는 환경 선택
- 선택된 환경의 변수들이 적용됩니다
변수 우선순위
글로벌 환경 변수는 특정 환경의 변화와 무관하게 사용되는 전역 변수로, 지역 환경 변수가 설정되어 있다고 하더라도 글로벌 변수가 설정되어 있다면 우선순위는 글로벌 환경 변수가 더 높습니다 VelogGitbook.
우선순위 (높음 → 낮음):
- Local 변수
- Data 변수
- Environment 변수
- Collection 변수
- Global 변수
Global 변수 설정
모든 환경에서 공통으로 사용하는 값:
- 우측 상단 눈 모양 아이콘 클릭
- Globals 섹션에서 Edit 클릭
- 변수 추가
- Save
Headers 설정하기
Authorization (인증)
1. API Key 방식
KeyValueX-API-Keyyour_api_key_here
2. Bearer Token 방식
- Authorization 탭 클릭
- Type: Bearer Token 선택
- Token 입력
3. Basic Auth 방식
- Type: Basic Auth 선택
- Username과 Password 입력
공통 Headers 설정
매 요청마다 동일한 헤더가 필요하다면 컬렉션 레벨에서 설정:
- 컬렉션 선택
- Authorization 탭
- 인증 방식 선택
- 하위 모든 요청에 자동 적용!
Request Body 타입
1. form-data
파일 업로드 시 주로 사용:
KeyValueTypename홍길동Textprofile[파일 선택]File
2. x-www-form-urlencoded
HTML 폼 형식:
KeyValueusernamehongpassword1234
3. raw (JSON)
가장 많이 사용:
json
{
"username": "hong",
"password": "1234"
}
4. binary
단일 파일 전송:
- Select File 버튼으로 파일 선택
5. GraphQL
GraphQL 쿼리:
graphql
query {
user(id: 1) {
name
email
}
}
테스트 스크립트 작성하기
API 응답을 자동으로 검증하는 스크립트를 작성할 수 있습니다.
Tests 탭 사용하기
예시: 상태 코드 검증
javascript
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
예시: 응답 시간 검증
javascript
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
예시: JSON 데이터 검증
javascript
pm.test("Body contains userId", function () {
var jsonData = pm.response.json();
pm.expect(jsonData[0]).to.have.property('userId');
});
예시: 응답 값을 환경 변수로 저장
javascript
var jsonData = pm.response.json();
pm.environment.set("post_id", jsonData.id);
스니펫 활용하기
오른쪽 Snippets에서 자주 사용하는 테스트 코드를 클릭하면 자동 삽입됩니다!
Pre-request Script
요청을 보내기 전에 실행되는 스크립트입니다.
예시: 타임스탬프 생성
javascript
pm.environment.set("timestamp", new Date().toISOString());
예시: 랜덤 데이터 생성
javascript
pm.environment.set("random_email",
"user" + Math.floor(Math.random() * 10000) + "@example.com"
);
```
## Collection Runner 사용하기
여러 요청을 순차적으로 자동 실행합니다.
### Runner 실행 방법
**1단계: Runner 열기**
1. 컬렉션 옆 **▶** 버튼 클릭
2. 또는 상단 **Runner** 버튼
**2단계: 설정**
- **Iterations**: 반복 횟수 (기본 1회)
- **Delay**: 요청 간 대기 시간 (ms)
- **Data**: CSV/JSON 파일로 데이터 주입 (선택)
**3단계: Run [컬렉션명]** 버튼 클릭
### Runner 결과 확인
- ✅ 성공한 요청: 녹색
- ❌ 실패한 요청: 빨간색
- 각 테스트 결과 상세 표시
## 컬렉션 공유하기
### Export (내보내기)
**1단계: 컬렉션 Export**
1. 컬렉션 옆 **⋯** 클릭
2. **Export** 선택
3. Collection v2.1 선택 (권장)
4. **Export** 버튼
5. JSON 파일 저장
**2단계: 팀원에게 전달**
- 이메일, 슬랙, GitHub 등으로 공유
### Import (가져오기)
**받은 사람:**
1. **Import** 버튼 클릭
2. **Upload Files** 선택
3. JSON 파일 선택
4. **Import** 확인
### 온라인 공유 (로그인 필요)
1. 컬렉션 옆 **⋯** 클릭
2. **Share** 선택
3. **Get Link** 또는 **Invite Users**
4. 링크 복사 또는 이메일 초대
## Postman 실전 활용 팁
### 1. 자주 쓰는 단축키
**Windows/Linux:**
- 새 요청: `Ctrl + N`
- 저장: `Ctrl + S`
- 전송: `Ctrl + Enter`
- 검색: `Ctrl + K`
**macOS:**
- 새 요청: `Cmd + N`
- 저장: `Cmd + S`
- 전송: `Cmd + Enter`
- 검색: `Cmd + K`
### 2. 요청 복사하기
- 요청 우클릭 > **Duplicate**
- 또는 `Ctrl + D` / `Cmd + D`
### 3. 히스토리 활용
- **History** 탭에서 최근 실행한 요청 확인
- 요청 클릭하면 재실행 가능
### 4. 코드 생성하기
API 요청을 다양한 언어의 코드로 변환:
1. 요청 오른쪽 **</>** (Code) 버튼 클릭
2. 언어 선택:
- JavaScript (fetch)
- Python (requests)
- cURL
- Java (OkHttp)
- PHP (cURL)
등등
3. **Copy to Clipboard**
### 5. Mock Server 만들기
실제 서버 없이 API 응답을 시뮬레이션:
1. 컬렉션 옆 **⋯** 클릭
2. **Mock collection** 선택
3. Mock 서버 이름 입력
4. **Create Mock Server**
### 6. API 문서 자동 생성
1. 컬렉션 옆 **⋯** 클릭
2. **View documentation** 선택
3. **Publish** 버튼으로 온라인 공개 가능
### 7. Workspace 활용
프로젝트 단위로 API 요청들을 체계적으로 분리하고 관리할 수 있습니다 .
- Personal: 개인 작업
- Team: 팀 협업
- Public: 오픈 소스 API
## 실전 예제: CRUD 전체 플로우
완전한 CRUD 작업을 Postman으로 실습해봅시다.
### 1. 게시물 목록 조회 (Read)
```
GET {{base_url}}/posts
```
### 2. 새 게시물 작성 (Create)
```
POST {{base_url}}/posts
Body (JSON):
{
"title": "새 게시물",
"body": "내용",
"userId": 1
}
```
### 3. 작성한 게시물 확인 (Read)
```
GET {{base_url}}/posts/101
```
### 4. 게시물 수정 (Update)
```
PUT {{base_url}}/posts/101
Body (JSON):
{
"id": 101,
"title": "수정된 게시물",
"body": "수정된 내용",
"userId": 1
}
```
### 5. 게시물 삭제 (Delete)
```
DELETE {{base_url}}/posts/101
문제 해결
요청이 실패할 때
1. 네트워크 오류
- 인터넷 연결 확인
- VPN이 API 접근을 차단하는지 확인
- 방화벽 설정 확인
2. 401 Unauthorized
- API 키 또는 토큰 확인
- Authorization 헤더 설정 확인
3. 404 Not Found
- URL 오타 확인
- 경로 파라미터 확인
4. 500 Internal Server Error
- 서버 문제 (개발자에게 문의)
- Request Body 형식 확인
환경 변수가 작동하지 않을 때
- 환경이 선택되어 있는지 확인
- 변수 이름 확인 (대소문자 구분)
{{변수명}}형식 확인
응답이 깨져 보일 때
- Pretty 탭 선택
- Content-Type이 올바른지 확인
결론
Postman 사용법을 마스터했습니다! 이제 다음을 할 수 있습니다:
✅ GET, POST, PUT, DELETE 요청 자유자재로 사용
✅ 컬렉션으로 API 체계적 관리
✅ 환경 변수로 개발/테스트/운영 환경 분리
✅ 테스트 스크립트로 API 응답 자동 검증
✅ 팀원들과 컬렉션 공유 및 협업