ターミナル環境での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スクリプト |
| アクション | 説明 |
|---|
URLで $VARIABLE_NAME | 環境変数を参照 |
ボディで ${VARIABLE_NAME} | 変数をボディに挿入 |
posting --env .env.dev | 起動時に環境ファイルを読み込み |
コレクションルート内の .env ファイル | 自動読み込み環境 |
.env.local オーバーライドファイル | ローカルオーバーライド(gitignore対象) |
| フィールド | 説明 |
|---|
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スクリプト |
request オブジェクトにアクセス | プリスクリプトでリクエストを修正 |
response オブジェクトにアクセス | ポストスクリプトでレスポンスを処理 |
| 変数を設定 | 後続のリクエスト用に値を保存 |
| 機能 | 説明 |
|---|
| Bodyタブ | レスポンスボディを構文ハイライト付きで表示 |
| Headersタブ | レスポンスヘッダーを表示 |
| ステータスコード表示 | HTTPステータスコードとテキスト |
| レスポンスタイム | リクエスト実行時間(ミリ秒) |
| レスポンスサイズ | レスポンスボディのサイズ |
Ctrl + F | レスポンスボディ内で検索 |
| アクション | 説明 |
|---|
| ディレクトリ構造 = コレクション | フォルダ階層がリクエストを整理 |
| サブディレクトリを作成 | 関連リクエストをグループ化 |
.yaml ファイル = リクエスト | 各YAMLファイルが1つのリクエスト |
posting --collection <dir> | 特定のコレクションを開く |
| Gitでバージョン管理 | YAMLファイルはgitフレンドリー |
| アクション | 説明 |
|---|
| URLバーにcurlコマンドをペースト | curlからインポート |
Ctrl + E | 現在のリクエストをcurlとしてエクスポート |
| Postmanからインポート | Postmanコレクションをインポート |
| OpenAPIからインポート | OpenAPI/Swaggerスペックをインポート |
| YAMLファイルは移植可能 | ファイル経由でリクエストを共有 |
| 設定 | 説明 |
|---|
~/.config/posting/config.yaml | グローバル設定ファイル |
theme: monokai | カラーテーマを設定 |
vim_mode: true | Vimキーバインディングを有効化 |
editor: nvim | 外部エディタを設定 |
pager: less | 外部ページャーを設定 |
timeout: 30 | デフォルトリクエストタイムアウト(秒) |
| コマンド | 説明 |
|---|
posting --theme monokai | Monokaiテーマで起動 |
posting --theme dracula | Draculaテーマで起動 |
posting --theme solarized | Solarizedテーマで起動 |
| 設定でカスタムテーマ | 独自のカラースキームを定義 |
posting --list-themes | 利用可能なテーマを表示 |
| ヒント | 説明 |
|---|
ジャンプモード(Ctrl+J)を使用 | タブより速くナビゲート |
| リクエストをGitに保存 | APIテストをバージョン管理 |
| 環境ファイルを使用 | dev/staging/prod間で切り替え |
| リクエスト前後スクリプトを記述 | 認証トークンリフレッシュを自動化 |
Ctrl+P コマンドパレットを使用 | 機能をすぐに発見 |
| フォルダで整理 | 関連エンドポイントをグループ化 |
| URLで変数を使用 | リクエストを乾いた状態(DRY)で柔軟に |
複雑なボディは $EDITOR で開く | 大きいペイロードを外部で編集 |