Postmanの「クラウド化」への違和感
Postmanは素晴らしいツールですが、近年の方向性には疑問があります:
- 強制的なクラウド同期: ログイン必須化
- プライバシー懸念: 機密APIがクラウドに保存される
- オフライン制限: ネットなしでは十分に使えない
- チーム料金: 有料プランへの誘導
「APIのテストくらい、ローカルで完結させたい」という声が高まっています。
Brunoは、その全ての問題を解決します。
最短で課題解決する一冊
この記事の内容と高い親和性が確認できたベストマッチです。早めにチェックしておきましょう。
Brunoの哲学:Offline-First
Brunoは完全にローカルで動作します。 全てのコレクション、環境変数、リクエスト履歴がファイルシステムに保存されます。
コアコンセプト
- ファイルベース: 全データが平文ファイル(
.bru形式) - Git連携: バージョン管理が当たり前のように使える
- オープンソース: MIT License、コミュニティ主導
- プライバシー第一: データが外部に送信されることは一切ない
実践:PostmanからBrunoへ移行
インストール
# Homebrew(macOS)
brew install bruno
# または公式サイトからダウンロード
# https://www.usebruno.com/downloadsPostmanコレクションのインポート
1. Bruno起動
2. メニュー → "Import Collection"
3. Postman JSONファイルを選択
4. 保存先フォルダを指定インポート後、全てのリクエストが.bruファイルとして保存されます。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
.bruファイル形式の美しさ
Bruno独自の.bru形式は、人間が読み書きしやすい構造です。
meta {
name: ユーザー取得
type: http
seq: 1
}
get {
url: {{base_url}}/api/users/{{user_id}}
body: none
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{token}}
}
tests {
test("Status is 200", function() {
expect(res.status).to.equal(200);
});
test("User has email", function() {
expect(res.body.email).to.be.a('string');
});
}このファイルをGitでバージョン管理できます!
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
Git連携の実例
プロジェクト構造
my-api-collection/
├── .git/
├── environments/
│ ├── development.bru
│ ├── staging.bru
│ └── production.bru
├── users/
│ ├── get-user.bru
│ ├── create-user.bru
│ └── update-user.bru
└── bruno.jsonチーム開発ワークフロー
# コレクションをクローン
git clone https://github.com/team/api-collection.git
cd api-collection
# Brunoでフォルダを開く(File → Open Collection)
# 新しいAPIリクエストを追加
# (Brunoで編集)
# 変更をコミット
git add users/delete-user.bru
git commit -m "Add delete user endpoint"
git push
# チームメンバーが変更を取得
git pullPostmanのようなクラウド同期は不要です。Gitだけで十分です。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
環境変数の管理
環境ごとに値を切り替える、Postmanと同様の機能があります。
# environments/development.bru
vars {
base_url: http://localhost:3000
token: dev-token-12345
}
vars:secret [
api_key
]vars:secretはGitにコミットされず、ローカルのみに保存されます。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
スクリプトとテスト
PostmanのPre-request ScriptやTestsと同等の機能があります。
# users/create-user.bru
post {
url: {{base_url}}/api/users
body: json
}
body:json {
{
"name": "Alice",
"email": "alice@example.com"
}
}
script:pre-request {
// リクエスト前に実行
req.setHeader('X-Request-ID', Date.now().toString());
}
tests {
test("User created", function() {
expect(res.status).to.equal(201);
const userId = res.body.id;
bru.setEnvVar("created_user_id", userId);
});
}さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
GraphQLとgRPCにも対応
# GraphQL
graphql {
query: |
query GetUser($id: ID!) {
user(id: $id) {
name
email
}
}
variables: {
"id": "{{user_id}}"
}
}さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
CI/CD統合
コマンドラインでも実行可能です。
# CLIのインストール
npm install -g @usebruno/cli
# 全テストを実行
bru run --env production
# 特定のフォルダだけ実行
bru run users/ --env stagingGitHub Actionsの例:
name: API Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Bruno tests
run: |
npm install -g @usebruno/cli
bru run --env stagingさらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
まとめ
Brunoは、「開発ツールはローカルファースト」という当たり前の哲学に立ち返ったツールです。
- コレクションはGitで管理
- データは全てローカル
- オフラインで完全動作
- チーム開発も問題なし
Postmanの「クラウド強制」に疲れた方、機密データの管理に不安がある方は、今すぐBrunoを試してみませんか?
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。








