JetBrains Rider 2024.1 ヘルプ

HTTP クライアント CLI

JetBrains Rider プラグインに加えて、HTTP クライアントも CLI ツールとして使用できます。これにより、IDE を使用せずにターミナルから HTTP リクエストを実行したり、CI ワークフローに HTTP リクエストのテストを含めたりすることができます。

HTTP クライアント CLI をインストールする

HTTP クライアント CLI は、Docker イメージ(英語)または ZIP アーカイブとして取得できます。

  • HTTP クライアント CLI を Docker イメージとして取得するには、イメージをプルします。

    docker pull jetbrains/intellij-http-client

  • ZIP アーカイブを取得するには、cURL を使用します。

    curl -f -L -o ijhttp.zip "https://jb.gg/ijhttp/latest"

HTTP クライアント CLI がダウンロードされたら、./ijhttp を実行して、使用可能な引数のリストを取得できます。./ijhttp --version を実行して、HTTP クライアント CLI のバージョンを確認します。

HTTP リクエストの実行

  1. .http 要求ファイルを作成します。すべてを一度に実行したい場合は、ファイルに複数の HTTP、WebSocket、GraphQL リクエストを含めることができます。

  2. HTTP クライアント CLI を実行します。

    ファイル名を ./ijhttp コマンドに渡します。例:

    ./ijhttp myrequest.http

    .http ファイルを使用してコンテナーを実行します。

    docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client run.http

    このコマンドは、ホストマシン上の現在の作業ディレクトリ ($PWD) とコンテナー内の workdir ディレクトリの間にバインドマウントを作成します。

コマンド出力には、送信されたリクエスト、テストステータス、環境変数に関する情報が含まれています。

Run HTTP Client CLI

ログレベルの変更

デフォルトでは、HTTP クライアント CLI は、送信されたリクエストと環境変数に関する情報のみを出力します。-L オプションを使用して、ログレベルを変更できます。

  • -L HEADERS を使用して、要求ヘッダーと応答ヘッダーに関する情報をログに記録します。

  • または、-L VERBOSE を使用して、要求と応答のヘッダーと本文に関する情報をログに記録します。

応答をファイルに保存

  • HTTP 応答を別のファイルに保存する場合は、.http ファイルに >> または >>! を追加します ( 応答をリダイレクトするも参照してください)。例:

    GET https://example.org/get >> myFolder/myFile.json
  • HTTP クライアント CLI からの出力を保存する場合は、> などの標準ターミナルコマンドを使用します。例:

    ./ijhttp rest-api.http > yourFile.txt

    保存された HTTP クライアント CLI 出力の詳細レベルは、指定されたログレベルによって異なります。

Docker で localhost を解決する

ホストマシンでサーバーを実行していて、Docker コンテナーで HTTP 要求を実行する場合、localhost をホストマシンのローカルホストに解決する必要がある場合があります。

  • -D オプションを使用します。例:

    docker run --rm -i -t -v $PWD:/workdir jetbrains/intellij-http-client -D run.http

このようにして、localhost を対象としたリクエストがホストマシンのローカルホストに送信されます。

環境変数

JetBrains Rider HTTP クライアントと同様に、HTTP リクエストで環境変数を使用できます。HTTP 環境ファイルの変数を使用するか、変数値を CLI コマンドで直接渡すことができます。

パブリック環境変数を使用する

  • --env-file オプションを使用して変数ファイルへのパスを指定し、--env オプションを使用して環境の名前を指定します。例:

    ./ijhttp --env-file http-client.env.json --env dev rest-api.http

  • または、-V オプションで変数値を渡します。複数の変数を渡したい場合は、-V オプションを繰り返します。

    ijhttp -V host=localhost:8080 -V planet=tatooine rest-api.http

両方のオプションを組み合わせることができます。

./ijhttp --env-file http-client.env.json --env dev -V host=localhost:8080 rest-api.http

プライベート環境変数を使用する

  • --private-env-file オプションを使用して変数ファイルへのパスを指定し、--env オプションを使用して環境の名前を指定します。例:

    ./ijhttp --private-env-file http-client.private.env.json --env dev rest-api.http

  • -P オプションで変数値を渡すこともできます。複数の変数を渡したい場合は、-P オプションを繰り返します。

    ijhttp -P password=mypassword123 -P user=johndoe rest-api.http

両方のオプションを組み合わせることができます。

./ijhttp --private-env-file http-client.private.env.json --env dev -P password=mypassword123 rest-api.http

テストリクエスト

HTTP クライアントプラグインと同様に、.http ファイルには JavaScript ES6 で記述された応答ハンドラースクリプトが含まれている場合があります。これを使用して、client.assert メソッドで HTTP リクエストをテストできます。

応答ハンドラースクリプトを使用する

  • .http ファイルで、リクエストから 1 行をスキップし、レスポンスハンドラースクリプトを > {% ... %} で囲みます。例:

    GET https://httpbin.org/get > {% client.test("Test status code", function() { client.assert(response.status === 200, "Response status is not 200"); }); %}

別のファイルからテストを含めることもできます。ファイルへのパスは、.http ファイルに対して絶対パスまたは相対パスのいずれかです。

GET https://httpbin.org/get > /path/to/responseHandler.js

テストレポートを JUnit XML 形式で保存する

HTTP クライアントは、JUnit XML 形式で出力を提供できます。

  • --report 引数を ijhttp コマンドに追加します。例:

    ./ijhttp test.http --report

HTTP クライアント CLI は、レポートを reports ディレクトリの report.xml ファイルに保存します。

関連ページ:

HTTP クライアント

HTTP クライアントプラグインを使用すると、JetBrains Rider コードエディターで HTTP リクエストを直接作成、編集、実行できます。HTTP リクエストを作成して実行する必要がある場合、主に 2 つのユースケースがあります。RESTful Web サービスを開発していて、それが期待どおりに機能し、仕様に準拠してアクセス可能であり、正しく応答することを確認したい場合。RESTful Web サービスに対応するアプリケーションを開発している場合。この場合、開発を開始する前にサービス...

OAuth 2.0 認証

HTTP クライアントは OAuth 2.0 認証をサポートします。アクセストークンを取得し、OAuth 2.0 で保護されたリソースへのリクエストを認証できます。ユーザー認証情報を入力できるようにするために、HTTP クライアントは組み込みの JCEF ブラウザーにログインフォームを表示します。この非モーダルブラウザーでは、IDE での作業が妨げられることはなく、たとえば、ユーザー名とパスワードをコピーして貼り付けることができます。一般的なフローには次の手順が含まれます。認証設定を指定する (認...

HTTP リクエスト構文の調査

このセクションでは、HTTP リクエストの形式について説明します。HTTP リクエストの送信と HTTP レスポンスの表示の詳細については、「HTTP クライアント」を参照してください。JetBrains Rider コードエディターで HTTP リクエストを作成するには、次の一般的な構文を使用します。Method Request-URI HTTP-Version Header-field: Header-value Request-BodyHTTP リクエストでコメントを使用するリクエスト内で...

HTTP クライアントリファレンス

オブジェクトは、HTTP クライアントセッションメタデータ (グローバル変数のリストなど) を保持し、HTTP 応答とテキストを出力にできるようにします。HTTP クライアントセッションは、JetBrains Rider が開始されると開始され、JetBrains Rider が閉じると終了します。値は、JetBrains Rider の再起動間では保持されません。オブジェクトは、変数ストレージとして機能するグローバルな入れ子になったオブジェクトへのアクセスを提供します。メソッド:テスト名前が...

ファイル監視

ファイル監視は、ファイルの変更を追跡し、サードパーティのスタンドアロンアプリケーションを実行する JetBrains Rider システムです。JetBrains Rider は、多数の標準的な一般的なサードパーティツール (コンパイラー、コンプレッサー、整形ツールなど) 用に定義済みのファイルウォッチャーテンプレートを提供するカスタムファイル監視を設定して、他のサードパーティツールを実行することもできます。ファイルウォッチャーには、2 つの専用コードインスペクションがあります。ファイル監視使用...