Echolot
リクエスト

リクエストボディ

JSON、フォーム、マルチパートのアップロード、GraphQL、テキスト、XML、HTML、ファイルそのものを、HTTPリクエストのボディとして送信します。

ボディタブは、リクエストがヘッダーの後に送る内容を設定する場所です。タブ上部の行で種類を選ぶと、下のエディタがそれに合わせて切り替わります。 リクエストにボディがあると、タブにドットが表示されます。

Create orderのボディタブ。JSONを選択し、エディタに注文明細が表示され、右側に整形ボタンがある

ボディの種類

種類送信する内容Echolotが追加するContent-Type
なしボディなし。なし
JSONエディタ内のテキスト。application/json
URLエンコードWebフォームが送信するときと同じ、名前と値のペア。application/x-www-form-urlencoded
マルチパートファイルアップロード付きのWebフォームが送信するときと同じ、テキストフィールドとファイル。バウンダリ付きのmultipart/form-data
GraphQLクエリのテキストをそのまま。application/graphql
生データテキスト、XML、HTML。2段目のチップで選びます。text/plain、application/xml、text/html
バイナリファイルをバイト単位でそのまま。なし

Content-Typeは、ヘッダータブの自動生成の下に表示されます。別のものを送るには、自分でContent-Typeヘッダーを追加します。Echolotのものの代わりに使われます。 長さとフレーミングのヘッダーは、リクエストの送信時に決まります。

テキストのボディにはどれも{{variables}}と動的な値を入れられ、送信時に埋められます:

{
  "lines": [{ "sku": "{{productId}}", "quantity": 1 }],
  "note": "Sent at {{$isoTimestamp}}"
}

JSON

エディタにJSONを入力するか貼り付けます。行番号、シンタックスカラー、変数用の{{リストが使えます。

整形をクリックすると、JSONがインデントされます。変数は書いたままなので、文字列中や単独の値としての{{productId}}には手を加えません。 ペインが狭いときは、ボタンには魔法の杖だけが表示されます。

試すには、Alpenglowの例でOrders › Create orderを開いてそのボディを見るか、受け取ったボディをそのまま返すEcho › Echo anythingを送信します。

URLエンコード

フィールドは、ヘッダーと同じくキーと値の表に並びます:

  • フィールドを追加をクリックして追加します。チェックを入れたフィールドは送信され、外したフィールドは保持されますが送信されません。
  • 一括編集をクリックすると、すべてのフィールドをテキストとして編集できます。1行に1つのName: valueで、オフにしたフィールドの前には//が付きます。

Echolotは送信時に名前と値をエンコードします。変数が挿入するものもエンコードされるので、値に含まれる+、&、スペースはその文字のまま届きます。

マルチパート

各行がフォームの1つのパートです:

  1. チェックボックスにチェックを入れると、そのフィールドが送信されます。
  2. 名前を入力します。
  3. テキストまたはファイルを選びます。
    • テキストでは、値を入力します。{{variables}}を含められます。
    • ファイルでは、選択…をクリックしてファイルを選びます。名前のないフィールドには、拡張子を除いたファイル名が使われます。パートには、ファイルの名前がそのままファイル名として付きます。
  4. 必要なら、パートのContent-Type(例:image/png)を種類に入力します。空のまま(type (auto))にすると、ファイルには拡張子から決まった種類が付き (.json、.png、.pdfなど。それ以外はapplication/octet-stream)、テキストフィールドには付きません。

行を追加するにはフィールドを追加をクリックし、削除するには−ボタンを押します。ファイルはリクエスト送信時にディスクからストリーミングされるため、 大きなアップロードもメモリに収まる必要はありません。

GraphQL

GraphQLは、Content-Type: application/graphqlでクエリのテキストをボディとして送信します。クエリをこの形式で受け取るサーバ向けです。 変数、スキーマからの補完、スキーマエクスプローラ、サブスクリプションを備えた本格的なGraphQLクライアントが必要なら、代わりに新規GraphQLリクエストを作成してください。 GraphQLを参照してください。

生データ:テキスト、XML、HTML

生データを選び、横の行でテキスト、XML、HTMLのいずれかを選びます。エディタはXMLとHTMLに色を付け、Content-Typeは選択に従います。

バイナリ:ファイル

バイナリを選び、ファイルを選択…をクリックして、送信するファイルを選びます。タブにはファイルの名前、サイズ、パスが表示されます。 別のファイルを選択…で置き換えられます。ファイルはサイズにかかわらず、リクエストを送信するたびにディスクから読み込まれるので、 リクエストは常にその時点のファイルを送信します。ファイルを選ぶまでは、何も送信されません。

Mac App Store版

App Storeエディションが読み込めるのは、自分で選んだファイルだけです。ボディタブで選んだファイルは、以降の送信でも読み込めるままです。 リクエストが、アプリに渡されたことのないファイル(たとえばチームメイトが自分のMacで選んだファイル)を指している場合、送信は止まり、 レスポンスペインにアクセスを許可…が表示されます。ファイルを選ぶと、リクエストがもう一度送信されます。

エディションを比較

ボディの保存先

入力したボディは、リクエストの隣に専用のファイルとして保存されます。たとえばcreate-order.req.tomlの隣のcreate-order.body.jsonで、Gitで読みやすくなります。 バイナリのボディは、ファイルのパスとして保存されます。ワークスペースのファイルを参照してください。

大きなボディ

バイナリとマルチパートのファイルは、リクエストの送信時にディスクからストリーミングされるので、どんなサイズのアップロードもメモリに読み込まずに送信できます。 レスポンスは別の話で、到着するそばからディスクに書き込まれ、数百メガバイトでもビューアで軽快に動作します。 レスポンスを参照してください。

このページの内容