터미널의 API 테스트를 위한 종합 Posting TUI HTTP 클라이언트 명령어 및 워크플로우입니다.
| 명령어 | 설명 |
|---|
uv tool install posting | uv를 통해 Posting 설치 (권장) |
pipx install posting | pipx를 통해 Posting 설치 |
brew install posting | Homebrew를 통해 Posting 설치 (macOS) |
posting --version | Posting 버전 표시 |
posting | Posting TUI 실행 |
posting --collection ./my-api | 특정 컬렉션 디렉토리로 실행 |
posting --env .env.dev | 환경 파일로 실행 |
| 단축키 | 설명 |
|---|
Tab | 패널 간 포커스 순환 |
Shift + Tab | 포커스 역방향 순환 |
Ctrl + J | 점프 모드 (레이블로 모든 패널로 점프) |
Ctrl + P | 명령 팔레트 열기 |
Ctrl + Q | Posting 종료 |
j / k | 목록에서 아래/위로 이동 (Vim 모드) |
g / G | 목록의 맨 위/아래로 점프 |
Escape | 대화 상자 닫기 또는 선택 해제 |
| 단축키 | 설명 |
|---|
Ctrl + N | 새 요청 만들기 |
Ctrl + S | 현재 요청 저장 |
Ctrl + Shift + S | 요청을 새 파일로 저장 |
Ctrl + D | 현재 요청 복제 |
Ctrl + Delete | 현재 요청 삭제 |
Ctrl + R | 현재 요청 이름 바꾸기 |
Enter | 현재 요청 전송 |
Ctrl + L | URL 바에 포커스 |
| 메서드 | 설명 |
|---|
GET | 리소스 검색 |
POST | 리소스 생성 |
PUT | 리소스 업데이트/교체 |
PATCH | 리소스 부분 업데이트 |
DELETE | 리소스 삭제 |
HEAD | 헤더만 가져오기 |
OPTIONS | 지원되는 메서드 가져오기 |
| 탭 | 설명 |
|---|
| Headers 탭 | 요청 헤더 추가/편집 |
| Body 탭 | 요청 본문 콘텐츠 설정 |
| Query 탭 | URL 쿼리 매개변수 추가 |
| Auth 탭 | 인증 설정 |
| Options 탭 | 요청별 옵션 설정 |
| Scripts 탭 | 요청 전/후 Python 스크립트 |
| 동작 | 설명 |
|---|
$VARIABLE_NAME in URL | 환경 변수 참조 |
${VARIABLE_NAME} in body | 본문에 변수 삽입 |
posting --env .env.dev | 시작 시 환경 파일 로드 |
.env file in collection root | 자동 로드 환경 |
.env.local override file | 로컬 재정의 파일 (gitignored) |
| 필드 | 설명 |
|---|
name: My Request | 요청 표시 이름 |
method: POST | HTTP 메서드 |
url: https://api.example.com/users | 대상 URL |
headers: | 요청 헤더 매핑 |
body: | 요청 본문 콘텐츠 |
params: | 쿼리 매개변수 |
auth: | 인증 설정 |
scripts: | 요청 전/후 스크립트 |
name: Create User
description: Create a new user account
method: POST
url: https://api.example.com/users
headers:
Content-Type: application/json
Authorization: Bearer ${API_TOKEN}
body:
content: |
{
"name": "John Doe",
"email": "john@example.com"
}
| 유형 | 설명 |
|---|
| Bearer Token | Authorization: Bearer <token> |
| Basic Auth | Base64 인코딩된 username:password |
| API Key | API 키를 포함한 사용자 정의 헤더 |
| No Auth | 인증 없음 |
| 훅 | 설명 |
|---|
pre_request.py | 요청 전에 실행되는 Python 스크립트 |
post_request.py | 응답 후 실행되는 Python 스크립트 |
Access request object | 사전 스크립트에서 요청 수정 |
Access response object | 사후 스크립트에서 응답 처리 |
| Set variables | 후속 요청용 값 저장 |
| 기능 | 설명 |
|---|
| Body 탭 | 구문 강조 표시로 응답 본문 보기 |
| Headers 탭 | 응답 헤더 보기 |
| Status code display | HTTP 상태 코드 및 텍스트 |
| Response time | 밀리초 단위 요청 기간 |
| Response size | 응답 본문 크기 |
Ctrl + F | 응답 본문 내 검색 |
| 동작 | 설명 |
|---|
| Directory structure = Collection | 폴더 계층 구조가 요청 구성 |
| Create subdirectory | 관련 요청 그룹화 |
.yaml files = Requests | 각 YAML 파일은 하나의 요청 |
posting --collection <dir> | 특정 컬렉션 열기 |
| Version control with Git | YAML 파일은 git 친화적 |
| 동작 | 설명 |
|---|
| Paste curl command in URL bar | curl에서 가져오기 |
Ctrl + E | 현재 요청을 curl로 내보내기 |
| Import from Postman | Postman 컬렉션 가져오기 |
| Import from OpenAPI | OpenAPI/Swagger 스펙 가져오기 |
| YAML files are portable | 파일을 통해 요청 공유 |
| 설정 | 설명 |
|---|
~/.config/posting/config.yaml | 전역 설정 파일 |
theme: monokai | 색 테마 설정 |
vim_mode: true | Vim 키 바인딩 활성화 |
editor: nvim | 외부 편집기 설정 |
pager: less | 외부 pager 설정 |
timeout: 30 | 기본 요청 타임아웃 (초) |
| 명령어 | 설명 |
|---|
posting --theme monokai | Monokai 테마로 실행 |
posting --theme dracula | Dracula 테마로 실행 |
posting --theme solarized | Solarized 테마로 실행 |
| Custom theme in config | 사용자 정의 색 구성 정의 |
posting --list-themes | 사용 가능한 테마 표시 |
| 팁 | 설명 |
|---|
Use jump mode (Ctrl+J) | 탭하기보다 빠르게 네비게이션 |
| Store requests in Git | API 테스트 버전 제어 |
| Use environment files | dev/staging/prod 간 전환 |
| Write pre/post scripts | 인증 토큰 새로 고침 자동화 |
Use Ctrl+P command palette | 기능을 빠르게 발견 |
| Organize in folders | 관련 엔드포인트 그룹화 |
| Use variables in URLs | 요청을 DRY하고 유연하게 유지 |
Open in $EDITOR for complex bodies | 큰 페이로드를 외부에서 편집 |