API 테스트 및 문서화를 위한 웹 기반 도구
https://weniv.github.io/api-tester/ 링크에서 바로 사용 가능
로컬에서 사용 시 index.html 파일을 브라우저에서 직접 열면 됩니다. (서버 불필요)
- 단일 테스트: Base URL + Endpoint + Method + Body 입력 후 실행
- 전체 테스트: 컬렉션에 저장된 모든 테스트를 순차 실행
- 상태 코드 검증: Expected Status와 실제 응답 상태 코드 비교
- 관련된 API 테스트를 컬렉션으로 그룹화
- 컬렉션 생성/삭제
- JSON 파일로 내보내기/가져오기 지원
- 여러 환경(개발/스테이징/프로덕션) 설정 관리
- Base URL 등 환경별 변수 설정
- 환경 전환으로 빠른 테스트 환경 변경
- 여러 테스트 계정 등록 및 관리
- 로그인하여 JWT 토큰 자동 획득
- 테스트별로 사용할 계정 선택 가능
- 인증이 필요한 API 테스트 지원
- API 응답에서 값을 추출하여 변수로 저장
- 저장된 변수를 다음 API 요청에서 사용
- 연속된 API 테스트 시나리오 구현 가능
- Base URL 설정: 상단 툴바에서 API 서버 주소 입력 (예:
http://localhost:8000) - 테스트 작성:
- Method 선택 (GET, POST, PUT, PATCH, DELETE)
- Endpoint 입력 (예:
/api/users/) - 필요시 Headers, Body 입력 (JSON 형식)
- Expected Status 입력 (기본값: 200)
- 테스트 실행:
▶ 테스트 실행버튼 클릭 - 결과 확인: 우측 패널에서 응답 확인
- 툴바의
LOGIN영역에서 로그인 엔드포인트 설정 (기본값:/accounts/login/) - 계정 영역에서 이메일/비밀번호 입력
로그인버튼 클릭- 성공 시
✓ 인증됨으로 변경 - 추가 계정은
계정 관리버튼으로 등록
- 테스트 설정에서
인증 계정드롭다운 선택 - 인증된 계정 선택
- 테스트 실행 시 자동으로
Authorization: Bearer {token}헤더 추가
API 응답에서 값을 추출하여 다음 요청에서 사용할 수 있습니다.
변수 추출 설정 (JSON 형식):
{
"postId": "$.id",
"userId": "$.user.id",
"firstItemId": "$.results[0].id",
"token": "$.access_token"
}지원하는 경로 문법:
| 문법 | 설명 | 예시 |
|---|---|---|
$.필드명 |
최상위 필드 | $.id |
$.a.b.c |
중첩 객체 | $.user.profile.name |
$.arr[0] |
배열 인덱스 | $.results[0].id |
$.a.b[0].c |
복합 경로 | $.data.items[0].name |
변수 사용법:
- Endpoint:
/posts/{{postId}}/ - Headers:
{"Authorization": "Bearer {{token}}"} - Body:
{"author_id": "{{userId}}"}
추출된 변수는 툴바의 VAR 영역에 표시되며, 결과 카드에서도 확인할 수 있습니다.
- 테스트 작성 후
저장버튼 클릭 - 컬렉션이 없으면 자동으로 "My Collection" 생성
- 사이드바에서 저장된 테스트 클릭하여 불러오기
+ 컬렉션버튼으로 새 컬렉션 생성
- 툴바의
ENV옆 드롭다운으로 환경 전환 설정버튼으로 환경 관리 모달 열기- 환경별 변수 (BASE_URL 등) 설정
- 모든 데이터는 브라우저 로컬스토리지에 저장
- 브라우저/기기별로 별도 저장
- 저장되는 항목:
- 컬렉션 및 테스트
- 환경 설정
- 계정 정보 (토큰 포함)
- 결과 초기화: 테스트 결과와 런타임 변수만 초기화
- 전체 리셋: 모든 저장된 데이터 삭제 (컬렉션, 계정, 환경 설정 포함)
계정 로그인 기능은 다음 API 규격을 기준으로 동작합니다:
로그인 엔드포인트 설정:
- 툴바의
LOGIN영역에서 로그인 엔드포인트를 설정할 수 있습니다 - 기본값:
/accounts/login/ - 환경별로 다른 엔드포인트 설정 가능 (환경 변수
LOGIN_ENDPOINT)
요청:
POST {BASE_URL}{LOGIN_ENDPOINT}
Content-Type: application/json
{
"email": "[email protected]",
"password": "password123"
}
응답 (다음 필드 중 하나 이상 포함):
{
"access_token": "...", // 또는 "access"
"refresh_token": "...", // 또는 "refresh"
"user": {
"pk": 1, // 또는 "id"
...
}
}다른 로그인 API 규격(요청 본문 형식 등)을 사용하는 경우, 직접 로그인 API를 테스트로 실행하고 변수 추출 기능으로 토큰을 저장한 뒤 Headers에 직접 {{token}} 변수를 사용하세요.
| 단축키 | 동작 |
|---|---|
ESC |
모달 닫기 |
- v2.0: 리팩토링 버전
- UI/UX 개선 (다크 테마, 2패널 레이아웃)
- 동적 계정 관리
- 변수 추출 및 체이닝
- 환경 변수 시스템
- 컬렉션 관리
- 데이터 마이그레이션 지원
v2.0에서 데이터 구조가 변경되었습니다. 앱 실행 시 자동으로 마이그레이션됩니다.
문제가 지속되면 사이드바 하단의 전체 리셋 버튼을 사용하세요.
- Base URL이 올바른지 확인
- 툴바의
LOGIN영역에서 로그인 엔드포인트가 서버 API와 일치하는지 확인 - CORS 설정 확인 (로컬 서버의 경우)
- 요청 본문 형식(email/password)이 서버 API와 일치하는지 확인
- 변수 추출이 정상적으로 되었는지 툴바의 VAR 영역 확인
- 변수명이 정확한지 확인 (
{{변수명}}형식) - 대소문자 구분됨