Postman "느림", "캐시 정리", "request를 찾을 수 없음" 문제 완전 해결!

배고픈코알라·2025년 7월 15일
1
post-thumbnail

postman

1. 【성능 최적화】Postman이 느릴 때 해결 방법

문제

  • Postman을 실행하면 컴퓨터 전체가 느려짐
  • 대규모 컬렉션을 로드할 때 멈춤 현상 발생
  • 응답이 큰 API를 호출할 때 지연 발생

해결책

메모리 할당 증가

# Windows의 경우
"C:\Users\사용자명\AppData\Local\Postman\Postman.exe" --max-old-space-size=4096

# macOS의 경우
open -a Postman --args --max-old-space-size=4096

정기적인 캐시 정리

  1. 설정 아이콘 클릭 → 'Settings' → 'Clear Cache' → 'Clear All Cache'
  2. Postman 재시작

작업 습관 개선

  • 대규모 컬렉션을 기능별로 분할
  • 불필요한 요청 정리
  • 필요한 데이터만 반환하도록 API 쿼리 최적화
  • 장시간 작업 시 주기적으로 Postman 재시작

2. 【데이터 복구】"request를 찾을 수 없습니다" 오류 해결법

문제

  • 저장했던 API 요청이 갑자기 사라짐
  • "We couldn't find any requests" 오류 메시지
  • 동기화 오류로 인한 데이터 손실

해결책

백업 파일 확인

위치:
- Windows: %APPDATA%\Postman\Backups
- macOS: ~/Library/Application Support/Postman/Backups
- Linux: ~/.config/Postman/Backups

백업 폴더에서 최근 파일을 찾아 Postman에서 'Import' → 'Import File'로 복구

동기화 상태 확인 및 해결

  1. 인터넷 연결 확인
  2. 동기화 상태 아이콘 확인 → 오류 시 '...' 메뉴 → 'Sync' → 'Force Sync'

예방 전략

  • 중요한 컬렉션은 주기적으로 JSON 파일로 내보내기
  • 중요한 변경 사항마다 컬렉션 버전 생성
  • 팀 워크스페이스에서 작업하여 데이터 백업 강화

3. 【유지보수】Postman 캐시 정리 가이드

문제

  • 변경 사항이 제대로 반영되지 않음
  • 오래된 응답 데이터가 계속 표시됨
  • 인증 토큰 문제가 자주 발생함

해결책

UI를 통한 기본 캐시 정리

설정 아이콘 → 'Settings' → 'Clear Cache' → 필요한 옵션 선택

특정 요청의 캐시 비활성화

요청 헤더에 추가:

  • Cache-Control: no-cache, no-store, must-revalidate
  • Pragma: no-cache

자동 캐시 정리 습관

매주 정기적으로 캐시 정리 (예: 월요일 아침)

4. 【보안 설정】인증과 권한 설정 문제 해결법

문제

  • "Unauthorized" 또는 "Forbidden" 오류가 자주 발생
  • OAuth 2.0 설정 방법이 복잡함
  • API 키나 토큰을 안전하게 관리하기 어려움

해결책

인증 방식 이해하기

인증 방식적합한 상황
API 키낮은 보안 수준의 공개 API
Basic Auth간단한 내부 API
Bearer Token대부분의 RESTful API
OAuth 2.0사용자 데이터 접근이 필요한 API
JWT상태를 저장하지 않는 인증 필요 시

인증 정보의 올바른 설정 위치

  1. 환경 변수 (가장 권장)
  2. 컬렉션 변수
  3. 전역 변수 (권장하지 않음)

OAuth 2.0 토큰 자동 갱신

// Pre-request Script 예제 (간소화)
if (!pm.environment.get('access_token') || 
    new Date(pm.environment.get('token_expiry')) <= new Date()) {
    
    pm.sendRequest({
        url: pm.environment.get('token_url'),
        method: 'POST',
        // 요청 내용 생략...
    }, function(err, res) {
        if (!err) {
            const responseJson = res.json();
            pm.environment.set('access_token', responseJson.access_token);
            
            const expiryDate = new Date();
            expiryDate.setSeconds(expiryDate.getSeconds() + responseJson.expires_in);
            pm.environment.set('token_expiry', expiryDate.toISOString());
        }
    });
}

주의: 인증 정보를 컬렉션과 함께 내보내거나 버전 관리 시스템에 저장하지 마세요!

5. 【워크플로우】복잡한 API 워크플로우 관리

문제

  • 여러 API 호출 간의 데이터 전달이 필요함
  • 이전 응답에 따라 다른 API를 호출해야 함
  • API 호출 순서가 중요하지만 관리하기 어려움

해결책

Collection Runner 활용

  1. 관련 API 요청을 순서대로 컬렉션에 추가
  2. 각 요청에 테스트 스크립트 추가
  3. 컬렉션 메뉴에서 "Run collection" 선택

환경 변수를 사용한 데이터 전달

// Tests 스크립트 예제
var jsonData = pm.response.json();
pm.environment.set("user_id", jsonData.id);
pm.environment.set("auth_token", jsonData.token);

조건부 로직 활용

// 조건부 로직 예제 (간소화)
var response = pm.response.json();

if (response.status === "active") {
    pm.environment.set("next_step", "process_payment");
    postman.setNextRequest("Process Payment");
} else {
    pm.environment.set("next_step", "check_inventory");
    postman.setNextRequest("Check Inventory");
}

6. 【데이터 분석】대규모 JSON 응답 처리

문제

  • 수천 줄의 JSON 응답에서 특정 데이터 찾기가 어려움
  • 중첩된 객체와 배열 구조 탐색이 복잡함
  • 응답 데이터의 특정 부분만 추출하고 싶음

해결책

검색 및 필터링 단축키

  • 검색: Ctrl+F (Windows/Linux) 또는 Cmd+F (macOS)
  • 접기/펼치기: Ctrl+Alt+1 (모두 접기), Ctrl+Alt+2 (모두 펼치기)

JSONPath 식 활용

// JSONPath 사용 예제
var jsonData = pm.response.json();

// 특정 값 추출
var userId = jsonData.user.id;

// 깊이 중첩된 값 추출
var jsonPath = require('jsonpath');
var specificValues = jsonPath.query(jsonData, '$.items[?(@.price>100)].name');
var allCategories = jsonPath.query(jsonData, '$..category');

응답 저장 및 비교

  1. 첫 번째 응답 저장: "Save Response" → "Save as example"
  2. 두 번째 응답 얻기: 파라미터 변경 후 요청 다시 실행
  3. 응답 비교: "Examples" 드롭다운 → 저장된 예제 선택 → "Compare"

7. 【개발 가속화】API 모의 서버 활용

문제

  • 백엔드 API 완성을 기다려 프론트엔드 개발이 지연됨
  • 외부 API 사용 제한으로 테스트가 원활하지 않음
  • 특정 조건(오류 케이스 등)의 테스트가 어려움

해결책

기본 모의 서버 구축

  1. 컬렉션의 "..." 메뉴에서 "Mock Collection" 선택
  2. 모의 서버 생성 및 URL 복사
  3. 각 요청에 "Examples" 추가(여러 응답 패턴 준비)

동적 응답 생성

// 모의 서버 설정 예제
if (pm.request.url.query.get("status") === "error") {
    pm.variables.set("__mock_example", "error-response");
} else {
    pm.variables.set("__mock_example", "standard-response");
}

프론트엔드 개발과의 통합

// 프론트엔드 코드 예제
const API_URL = process.env.NODE_ENV === 'development' 
  ? 'https://xxxxxxxx.mock.pstmn.io' // 모의 서버
  : 'https://api.example.com';        // 실제 API

【총정리】Postman 마스터 되기: 7가지 핵심 문제 해결법

이 가이드에서는 Postman 사용 시 가장 자주 발생하는 7가지 문제와 해결책을 소개했습니다:

  1. 성능 문제 → 메모리 할당 증가, 캐시 정리, 작업 습관 개선
  2. 요청을 찾을 수 없음 → 백업 파일 확인, 동기화 상태 점검
  3. 캐시 관련 문제 → 정기적인 캐시 정리, 캐시 비활성화 헤더 사용
  4. 인증 설정 문제 → 인증 방식 이해, 환경 변수 활용, 토큰 자동 갱신
  5. 워크플로우 관리 → Collection Runner, 환경 변수, 조건부 로직 활용
  6. JSON 데이터 분석 → 검색 기술, JSONPath, 응답 비교 기능 활용
  7. 개발 지연 문제 → 모의 서버 구축, 동적 응답 생성, 프론트엔드 통합

대체 도구: Apidog 소개

Postman은 훌륭한 도구이지만, 더 직관적이고 사용하기 쉬운 도구를 찾고 있다면, Apidog도 고려해볼 만합니다:

  • 더 시각적이고 직관적인 워크플로우
  • 고급 모의 기능과 자동 응답 생성
  • 팀 협업 기능 강화
  • 가볍고 빠른 작동

0개의 댓글