2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

Postman에서 요청의 본문을 조건부로 설정하는 방법은 무엇인가요?

_____
Q: Postman에서 요청 본문(body)을 조건에 따라 다르게 설정하는 방법은 무엇인가요?

A: Postman에서는 스크립트(Pre-request Script)와 변수(환경변수, 컬렉션 변수 등)를 활용하여 요청 본문을 조건부로 변경할 수 있습니다. 일반적으로 다음 단계를 따릅니다.

1. 환경변수 또는 스크립트 변수 설정
- 조건에 따른 값을 저장할 변수를 정의합니다.
- 예: `pm.environment.set("requestBody", JSON.stringify({ key: "value" }));`

2. Pre-request Script에서 조건 검사 및 변수 설정
- `pm` 객체를 사용해 조건문을 작성합니다.
- 조건에 맞게 변수에 요청 본문 내용을 JSON 형태 등으로 저장합니다.
```javascript
if (pm.environment.get("condition") === "A") {
pm.environment.set("requestBody", JSON.stringify({ data: "valueA" }));
} else {
pm.environment.set("requestBody", JSON.stringify({ data: "valueB" }));
}
```

3. 요청 Body에서 변수 참조
- ‘raw’ 타입의 Body에 변수 구문을 넣습니다.
- 예:
```json
{{requestBody}}
```
- 변수 `requestBody`가 JSON 문자열이므로, Body 영역에 그대로 넣으면 JSON 요청 본문이 동적으로 설정됩니다.

----

추가 팁:
- Body를 완전히 스크립트로 제어하고 싶다면 Pre-request Script에서 `pm.request.body.update()` 메서드를 사용하여 본문을 동적으로 변경할 수도 있습니다.
```javascript
if (조건) {
pm.request.body.update(JSON.stringify({ key: "value1" }));
} else {
pm.request.body.update(JSON.stringify({ key: "value2" }));
}
```

- 그러나 이 방법은 Postman 앱 버전에 따라 지원 여부가 달라질 수 있으니, 보통 변수와 템플릿 방식을 권장합니다.

----

요약:
Postman에서 요청 본문을 조건부로 설정하려면, Pre-request Script에서 조건문으로 변수를 세팅하고, 요청 Body에서 해당 변수를 받아 사용하는 방식이 가장 일반적이고 안정적입니다.
Postman에서 요청의 본문을 조건부로 설정하는 방법은 여러 가지가 있으며, 이를 통해 API 테스트를 보다 유연하게 수행할 수 있습니다.

조건부 요청 본문 설정은 주로 Pre-request Script와 Tests 탭을 활용하여 구현됩니다.

아래에서는 이 과정을 단계별로 설명하겠습니다.

1. Pre-request Script 사용하기 Postman의 Pre-request Script는 요청이 전송되기 전에 실행되는 JavaScript 코드를 작성할 수 있는 공간입니다.

이 스크립트를 사용하여 요청 본문을 동적으로 설정할 수 있습니다.

예제: 가정해보겠습니다.

특정 조건에 따라 요청 본문을 다르게 설정하고 싶습니다.

예를 들어, `isTest`라는 변수가 `true`일 경우와 `false`일 경우에 따라 다른 본문을 설정할 수 있습니다.

1. Pre-request Script 작성 : ```javascript // 조건 변수 설정 const isTest = pm.environment.get("isTest"); // 요청 본문 설정 let requestBody; if (isTest) { requestBody = { "message": "This is a test message." }; } else { requestBody = { "message": "This is a production message." }; } // 요청 본문을 설정 pm.request.body.raw = JSON.stringify(requestBody); ```

2. 환경 변수 설정 : Postman의 환경 변수에서 `isTest` 변수를 `true` 또는 `false`로 설정합니다.



3. 요청 보내기 : 요청을 보내면, `isTest` 변수의 값에 따라 요청 본문이 다르게 설정됩니다.



2. Tests 탭 활용하기 Tests 탭에서도 조건부 로직을 사용하여 요청 본문을 설정할 수 있습니다.

하지만 Tests 탭은 요청이 완료된 후에 실행되므로, 주로 응답에 따라 다음 요청의 본문을 설정하는 데 사용됩니다.

예제: 1. 첫 번째 요청의 Tests 탭에 작성 : ```javascript // 응답 상태 코드에 따라 다음 요청의 본문 설정 if (pm.response.code === 200) { pm.environment.set("isTest", true); } else { pm.environment.set("isTest", false); } ```

2. 두 번째 요청의 Pre-request Script에 작성 : 위에서 설명한 Pre-request Script를 사용하여 `isTest` 변수에 따라 요청 본문을 설정합니다.



3. Postman Collection Runner 사용하기 Postman Collection Runner를 사용하면 여러 요청을 순차적으로 실행할 수 있습니다.

이 경우, 각 요청의 Pre-request Script와 Tests를 활용하여 조건부 로직을 설정할 수 있습니다.

예를 들어, 첫 번째 요청의 결과에 따라 두 번째 요청의 본문을 다르게 설정할 수 있습니다.



4. Postman에서 요청의 본문을 조건부로 설정하는 방법은 Pre-request Script와 Tests 탭을 활용하는 것입니다.

이를 통해 API 테스트를 보다 유연하게 수행할 수 있으며, 다양한 시나리오에 맞춰 요청 본문을 동적으로 변경할 수 있습니다.

이러한 기능을 잘 활용하면 API의 다양한 상태와 응답을 효과적으로 테스트할 수 있습니다.

작성자: 최수현 [비회원] | 작성일자: 1년 전 2024-11-24 07:41:45
조회수: 177 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.