環境の登録・切替
接続先ごとの設定をまとめた「環境(接続プロファイル)」を登録・切り替え、環境変数・認証・ヘッダーを設定する操作を説明します。
環境とは(接続プロファイル)(概要)
環境は Postman の「環境(Environment)」に相当する、切り替え可能な接続プロファイルです。 コレクションやクエリの親(中間ノード)ではなく、クエリとは独立して存在します(直交型)。 クエリは環境に依存せずコレクション配下に持ち、送信やスキーマ取込は常に「操作対象 × 選択中の環境」で 組み立てられます。用語は 主要な用語 を参照してください。
前提
- アプリが起動していること(はじめに(インストールと起動))。
- 「環境変数」と「GraphQL 変数」の違いを理解していること(下表・主要な用語)。 混同するとヘッダー・URL の設定を誤ります。
環境変数と GraphQL 変数の違い(混同しないでください)
GalleonQL は 2 種類の「変数」を区別します。本ページで扱うのは環境変数です。
| 環境変数(本ページの対象) | GraphQL 変数 | |
|---|---|---|
| 記法 | {{baseUrl}} {{token}} のように波括弧 2 つ |
$id $input のようにクエリ内で宣言 |
| 持ち主 | 環境が key-value で保持 | クエリが既定値を持つ |
| 用途 | 接続先 URL など、環境ごとに変わる接続設定 | クエリの引数 |
| 差し込み先 | エンドポイント URL・ヘッダーの値 | クエリ本文の引数 |
名前付き GraphQL 変数($id 等)は、クエリビルダーの入力モードを「変数」に切り替えると使えます(クエリビルダー 参照)。
認証の秘密(Bearer トークン・Basic パスワード)は環境変数ではなく、後述の「認証」節に入れてください。
操作手順
1. 環境エディタを開く
トップバーには、環境セレクタ(ドロップダウン)、選択中の環境の解決後 URL、「編集」ボタンが並んでいます。 「編集」をクリックすると環境エディタ(モーダル)が開き、開いた時点で選択中だった環境が編集対象になります。
2. 環境を追加する
「環境一覧」節の「新しい環境名」欄に名前を入力し、「+ 環境を追加」をクリックします。
- 名前が空(前後の空白を除いて空)の場合は追加されません。
- 追加された環境は、URL・環境変数・環境ヘッダーとも空、**認証は「なし(none)」**で作成されます。
- 追加した環境は、その場で編集できるよう自動的に選択されます。
3. リクエスト URL を設定する
「リクエスト URL」節に、直 URL(例 https://api.example.com/graphql)または環境変数参照
(例 {{baseUrl}})を入力します。
- 入力欄の下に「解決後: …」のプレビューが表示されます。未解決の
{{...}}があると警告されます。 - 送信・スキーマ取込のエンドポイントは、このリクエスト URL を環境変数で解決した値を使います。
4. 環境変数を追加・編集・削除する
「環境変数」節で「変数名」「値」を入力し、「環境変数を追加」をクリックします。
- 追加済みの変数は、一覧の値欄を直接編集すると即座に更新されます。各行の「削除」で削除できます。
- リクエスト URL やヘッダーの値の中で
{{key}}として参照できます。{{ token }}のように 波括弧と変数名の間に空白があっても解決されます。 - 間接参照は 1 段までしか解決されません(後述「制限事項」)。
- 認証の Bearer トークンや Basic パスワードはここに置かないでください(次の「認証」節を使います)。
変数サジェスト({{ オートコンプリート)
URL・ヘッダー・変数の値欄で、{{ の後に 1 文字以上打つと候補一覧が開きます。
| 操作 | 結果 |
|---|---|
| Enter / Tab / クリック | {{変数名}} を挿入 |
| ↑ / ↓ | 候補のハイライト移動 |
| Escape | サジェストを閉じる |
候補の先頭バッジ:
| バッジ | 意味 |
|---|---|
| P | プロジェクト共通変数 |
| E | 環境変数 |
| A | アプリ組み込み(例: AppUserAgent) |
同名の P と E は別行で出ます。解決時は環境側がプロジェクトを上書きします。認証秘密欄には サジェストは出ません(認証値はテンプレート展開しないため)。
5. 認証(既定方式と秘密)を設定する
「認証」節(見出し左に由来バッジ Au)で、この環境の既定認証方式と秘密を設定します。
| 既定の認証方式 | 意味 | 表示される秘密欄 |
|---|---|---|
| なし(none) | 認証ヘッダーを付けない | なし |
| Bearer | Authorization: Bearer <token> を組み立てる |
Bearer トークン |
| Basic | Authorization: Basic base64(ユーザー名:パスワード) を組み立てる |
Basic ユーザー名 / Basic パスワード |
- リクエストの Auth タブが「環境の既定を継承」のとき、ここで設定した方式と秘密から
Authorizationが 自動注入されます(由来Au)。秘密はエクスポート/インポートされません。 - 認証値は
{{...}}を展開しません(秘密をテンプレート経由にしない設計)。トークン欄に{{token}}と 書いても、そのままの文字列が使われます。 - トークンが空の Bearer では
Authorizationヘッダー自体を送りません。パスワードが空の Basic は ヘッダーを送ります(空パスワードとして符号化。警告のみ)。
| 状況 | 警告文言 |
|---|---|
| Bearer でトークンが空 | Bearer 認証のトークンが空です。Auth タブまたは環境の認証設定でトークンを入力してください。 |
| Basic でパスワードが空 | Basic 認証のパスワードが空です。意図した設定か確認してください。 |
リクエスト側で方式だけを上書きする方法は クエリの送信とレスポンス の 「Auth タブ」を参照してください。
6. 環境リクエストヘッダーを追加・編集・削除する
「環境リクエストヘッダー」節(由来バッジ E)で、この環境固有の HTTP ヘッダーを設定します。
- 「Header」「Value」を入力し、「ヘッダーを追加」をクリックします。
- 値には
{{envVar}}のように環境変数を差し込めます({{サジェスト可)。 - 追加済みの行は各欄を直接編集すると即座に更新されます。「削除」で削除できます。
Authorizationの手書きは非推奨です(「認証」節を使ってください)。互換のため入力自体はできますが、 環境ヘッダーに書いたAuthorizationは、その後の認証段(Au)やリクエスト固有ヘッダー(R)で 上書きされます(後述「ヘッダーのカスケード」)。
7. 環境名を変更する・環境を削除する
- 「環境名」欄を編集すると、その環境の名前が即座に変わります。
- 環境一覧の各行の「削除」で環境を削除できます。すべて削除して 0 件にもできます(ただしその場合 スキーマ取込は実行できません)。
- 選択中の環境を削除した場合、残っている環境のうち先頭のものが自動的に選択されます。
8. 環境を切り替える
トップバーの環境セレクタで切り替えたい環境を選ぶと、解決後の URL、左ペイン Headers タブの最終ヘッダー
プレビュー、認証の Authorization が即座に切り替わります。環境が 0 件の場合、セレクタは無効化され
「(環境がありません)」と表示されます。
設定例
| 用途 | 環境名 | リクエスト URL | 環境変数 | 認証 | 環境リクエストヘッダー |
|---|---|---|---|---|---|
| ローカル開発(初期サンプル) | Default |
{{baseUrl}} |
baseUrl = http://localhost:4000/graphql |
既定方式 Bearer、トークン dev-local |
Content-Type = application/json |
| ステージング | Staging |
https://staging.example.com/graphql |
任意 | 既定方式 Bearer、発行済みトークン | 任意 |
| Basic 認証の API | BasicApi |
https://api.example.com/graphql |
任意 | 既定方式 Basic、ユーザー名/パスワード | 任意 |
| 認証不要の公開 API | Public |
https://countries.trevorblades.com/ |
任意 | なし(none) | 任意 |
ヘッダーのカスケード(プロジェクト → 環境 → 認証 → リクエスト)
送信されるヘッダーは次の順にマージされ、同じヘッダー名は下位が上位を上書きします。
- アプリ組み込み(由来
A。例:User-Agent) - プロジェクト共通ヘッダー(
P) - 環境リクエストヘッダー(
E) - 認証(方式+秘密から組み立てた
Authorization。Au) - リクエスト固有ヘッダー(
R)
- 優先順位: リクエスト > 認証 > 環境 > プロジェクト > アプリ。
- ヘッダー名の照合は大文字・小文字を区別しません(
content-typeとContent-Typeは同一ヘッダーとして 1 件に畳まれ、最終的な表示名は勝った側のものになります)。 - 左ペインの Headers タブに「送信される最終ヘッダー」プレビューが出て、キー・解決後の値・由来バッジが 表示されます。このプレビューは実際の送信と同じ解決結果です (クエリの送信とレスポンス)。
| 由来バッジ | 意味 |
|---|---|
| A | アプリ設定 |
| P | プロジェクト設定 |
| E | 環境設定 |
| Au | 認証 |
| R | リクエスト設定 |
永続化と復元
環境(名前・環境変数・環境ヘッダー・認証の方式と秘密)と、最後に選択していた環境は、追加・編集・削除・ 切替のたびに端末内へ自動保存されます。「保存」操作は不要です。アプリを再起動すると、登録した環境一覧と 最後に選択していた環境がそのまま復元されます。この復元では HTTP を一切発行しません。
- 初回起動時(環境が 1 件も保存されていない場合)は、サンプル環境「Default」(上の設定例の 1 行目・
Bearer トークン
dev-localを含む)が 1 件自動作成されます。 - 環境を切り替えて解決後の URL が変わると、その URL のスキーマキャッシュが自動的に読み込まれ、 表示中のスキーマ・クエリビルダーがその URL のものに切り替わります(HTTP は発行しません)。 まだ取り込んでいない URL の場合は「まだ取り込まれていません」の案内に変わります。新しい エンドポイントのスキーマを取得するには、切り替え後に改めて「スキーマを取り込む」(または「⟳ 再取込」)を 実行してください(スキーマの取り込み)。
🚨 認証トークン等は暗号化されずに保存されます
認証の秘密(Bearer トークン・Basic パスワード)や、環境変数・環境ヘッダーの値は、暗号化されず 平文のまま端末内に保存されます。アプリデータは OS のユーザー領域にあり他の OS ユーザーからは 読めませんが、ディスク上に平文が残る点は変わりません。これは意図的な決定で、Postman や Insomnia など 同種のローカルツールも平文で保存しています。トークンやパスワードを入力する際は、この点を踏まえて 取り扱ってください。
現時点での制限事項
- 認証方式は なし(none)/ Bearer / Basic のみです(いずれも
Authorizationヘッダーで完結)。 API Key・OAuth2・カスタムヘッダー認証は未対応です。 - 認証値は環境変数(
{{...}})で解決されません。 - 環境変数の間接参照は 1 段までしか解決されません。 例えば
apiHostの値が{{host}}という別の 変数参照でも、hostまでは自動的に追いません(無限ループ防止のための意図的な制約)。この場合 置換後に{{host}}が残り、未解決として警告されます。多段が必要なら参照先の値を直接展開して 登録してください。 Authorizationの手書きは非推奨です(「認証」節を使ってください)。
うまくいかないときは
| 症状 | 想定される原因 | 対処 |
|---|---|---|
| セレクタが無効・「(環境がありません)」 | 環境が 0 件 | 「+ 環境を追加」で追加する |
URL に {{baseUrl}} がそのまま出て「未解決の変数があります: baseUrl」 |
参照先の環境変数が未定義 | 変数を追加するか直 URL に書き換える |
| 最終ヘッダーに「未解決の変数があります: ヘッダー名 (変数名)」 | ヘッダー値の変数が未定義、または 2 段以上の間接参照 | 変数を追加、または 1 段に収める |
| 「Bearer 認証のトークンが空です。…」が出る | 方式が Bearer なのにトークン未入力 | 「認証」節でトークンを入力する |
Authorization が最終ヘッダーに出ない |
方式が「なし」、または Bearer でトークンが空 | 「認証」節とリクエストの Auth タブを確認する |
| 環境を切り替えてもスキーマが変わらない | 切替前後で解決後 URL が同じ | 仕様。別の URL に解決される環境に切り替える |
| 切り替えたらスキーマが消えて「まだ取り込まれていません」になった | 切替先 URL がまだ未取込 | 仕様(自動取得はしません)。「スキーマを取り込む」を実行する |
| 再起動したらサンプル「Default」だけになった | 保存データの破損、または DB エラーでのフォールバック | トップバー直下の警告表示を確認する。必要なら環境を作り直す |
関連ドキュメント
- スキーマの取り込みでの利用: スキーマの取り込み
- リクエストの Auth タブ・送信時の
Authorization: クエリの送信とレスポンス - クエリの組み立て: クエリビルダー
- 用語: 主要な用語
- 索引に戻る: ユーザーマニュアル目次