From 0595d87759fe01a569a4716adfd99cd875d30460 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 27 Jul 2018 04:10:16 +0900 Subject: [PATCH] Update doc --- src/docs/stream.ja.md | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/src/docs/stream.ja.md b/src/docs/stream.ja.md index 7a2815dba..1ad36c902 100644 --- a/src/docs/stream.ja.md +++ b/src/docs/stream.ja.md @@ -16,4 +16,43 @@ ## ストリームを経由してAPIリクエストする -ストリームを経由してAPIリクエストすると、HTTPリクエストを発生させずにAPIを利用できます。 +ストリームを経由してAPIリクエストすると、HTTPリクエストを発生させずにAPIを利用できます。そのため、コードを簡潔にできたり、パフォーマンスの向上を見込めるかもしれません。 + +ストリームを経由してAPIリクエストするには、次のようなメッセージをストリームに送信します: +```json +{ + type: 'api', + id: 'xxxxxxxxxxxxxxxx', + endpoint: 'notes/create', + data: { + text: 'yee haw!' + } +} +``` + +`id`には、APIのレスポンスを識別するための、APIリクエストごとの一意なIDを設定する必要があります。UUIDや、簡単な乱数のようなもので構いません。 + +`endpoint`には、あなたがリクエストしたいAPIのエンドポイントを指定します。 + +`data`には、エンドポイントのパラメータを含めます。 + +
+

APIのエンドポイントやパラメータについてはAPIリファレンスをご確認ください。

+
+ +### レスポンスの受信 + +APIへリクエストすると、レスポンスがストリームから次のような形式で流れてきます。 + +```json +{ + type: 'api-res:xxxxxxxxxxxxxxxx', + body: { + ... + } +} +``` + +`xxxxxxxxxxxxxxxx`の部分には、リクエストの際に設定された`id`が含まれています。これにより、どのリクエストに対するレスポンスなのか判別することができます。 + +`body`には、レスポンスが含まれています。