Postman에서 요청의 본문을 동적으로 생성하는 방법은 무엇인가요?
_____A: Postman에서 요청 본문을 동적으로 생성하는 방법은 여러 가지가 있습니다. 대표적인 방법은 다음과 같습니다.
1. Pre-request Script 사용하기
- 요청 실행 전에 JavaScript 코드를 작성해 변수 값을 동적으로 생성하거나 수정할 수 있습니다.
- `pm.variables.set("key", "value")`를 사용해 변수에 값을 저장한 후, 본문에 `{{key}}` 형식으로 참조할 수 있습니다.
- 예:
```javascript
// Pre-request Script
let timestamp = Date.now();
pm.variables.set("current_timestamp", timestamp);
```
요청 본문:
```json
{
"createdAt": "{{current_timestamp}}"
}
```
2. 파라미터/변수 템플릿 사용하기
- Postman 환경 변수(Environment Variables), 컬렉션 변수(Collection Variables), 글로벌 변수(Global Variables) 또는 로컬 변수(Local Variables)를 미리 정의하고 요청 본문에 `{{변수명}}` 형태로 삽입합니다.
- 변수 값은 Pre-request Script에서 동적으로 변경 가능하며, 실행 시점에서 치환됩니다.
3. 동적 JSON 생성 및 설정 (Pre-request Script 내에서)
- Pre-request Script에서 JavaScript 객체를 생성해 JSON 문자열로 변환한 뒤, 해당 값을 변수로 설정할 수 있습니다.
- 예:
```javascript
id: Math.floor(Math.random() * 1000),
name: "User" + Math.floor(Math.random() * 100)
};
pm.variables.set("dynamic_body", JSON.stringify(body));
```
요청 본문:
```json
{{dynamic_body}}
```
단, Body 탭에서 'raw' 타입으로 설정하고 JSON 형식이어야 하며, 변수 치환 시 문자열 구조가 올바른 JSON 형태인지 확인해야 합니다.
4. Data 파일(CSV, JSON) 사용하기
- Collection Runner에서 외부 데이터 파일을 불러와 각 요청마다 다른 본문을 자동으로 생성할 수 있습니다.
- CSV나 JSON 파일 내 필드를 `{{필드명}}` 변수로 요청 본문에 사용하면, 실행 시 데이터가 자동 치환됩니다.
5. 동적 쿼리나 Body 제작을 위한 스니펫 활용
- Postman 내 기본 제공하는 코드 스니펫이나 커스텀 함수를 Pre-request Script에 작성해 복잡한 값도 동적으로 처리 가능합니다.
---
요약:
- Pre-request Script에서 변수 생성 및 JSON 문자열 생성
- 본문에 변수 템플릿 `{{변수명}}` 사용
- Data 파일과 연계해 여러 데이터로 반복 실행
- 환경 변수와 컬렉션 변수를 활용해 동적 데이터 관리
이 방법들을 조합하면 요청 본문을 상황에 따라 자유롭게 동적으로 생성하고 관리할 수 있습니다.
작성자:
박재윤 [비회원]
| 작성일자: 1년 전
2024-11-24 07:41:44
조회수: 136 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 136 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.