WebSocketは、単一のTCP接続上で全二重通信を実現するAPI技術だ。従来のHTTPリクエストと比べて、遅延が少なく効率が高い。オンラインゲーム、リアルタイムチャットなど、永続的な接続やリアルタイムのデータ転送が必要なシーンに適している。WebSocket APIの管理はApidog バージョン2.2.34以降でサポートされている。
WebSocket APIの作成#
HTTPプロジェクト内にWebSocket APIを作成できる。1.
左側の「+」ボタンをクリックし、「新規WebSocket」を選択
2.
ws または wss で始まるWebSocketサーバーのURLを入力
4.
WebSocket APIを切断するには、「切断」をクリック
WebSocket APIの機能を最大限に活用するには、Apidogクライアントの使用を推奨する。
メッセージの送信#
WebSocket接続を確立後、メッセージタブでメッセージを作成できる。Text、JSON、XML、HTMLなどのテキスト形式でメッセージを直接作成できるほか、Base64 や 16進数 を使用してバイナリ形式でメッセージを作成することもできる。エディタは選択したメッセージ形式に基づいて、メッセージ内容の構文強調を適用する。メッセージが JSON、XML、HTML 形式の場合、入力内容のフォーマットも可能だ。メッセージの表示#
下部のメッセージ セクションには、接続状態、送信メッセージ、受信メッセージが時系列で表示される。個々のメッセージをクリックすると、右側に詳細が表示される:テキスト形式のメッセージは、デフォルトでフォーマットされたメッセージが表示される。メッセージ形式とエンコーディングを手動で切り替えることができる
バイナリ形式のメッセージは、デフォルトでメッセージの Hexdump が表示される。Base64 でエンコードされたメッセージと元のメッセージも表示できる
Handshakeリクエストパラメータの追加#
認証やその他の複雑なシナリオに対応するため、WebSocketハンドシェイク時に必要な パラメータ、ヘッダー、Cookie などのパラメータをカスタマイズできる。Handshakeリクエストパラメータは、接続確立後は変更できない。接続前または切断後に設定する必要がある。
変数の使用#
WebSocket接続の ハンドシェイクやメッセージでApidogの変数を使用できる。詳しくは変数の使用を参照。APIドキュメント#
WebSocket APIのステータス、担当者、タグ を設定し、Markdown 形式で詳細なAPI説明を提供できる。また、WebSocket APIドキュメントを外部チームと共有でき、ブラウザで直接閲覧できる。APIの保存#
デバッグが完了したら、『保存」ボタンをクリックしてWebSocket APIを HTTP プロジェクトのディレクトリツリーに保存する。これにより、他のチームメンバーがAPIのデバッ グやドキュメントの閲覧ができる。FAQ#
Q: レスポンスのバリデーションが不要なのはなぜ?A: WebSocketリクエストでは、接続確立時にHTTPステータスコードが 101 である必要があり、これはプロトコルのアップグレードが成功したことを示す。そのため、通常ステータスコードの検証は不要だ。Q: Authタブがないが、WebSocket APIの認証はどうする?A: 現在、WebSocket API認証には2つの方法を推奨している:1.
接続確立時に パラメータ、ヘッダー、Cookie フィールドで認証情報を渡す
Q: ApidogはWebSocket APIでプリリクエスト/テストスクリプトとアサーションをサポートしている?A: まだサポートしていないが、現在設計・開発中だ。Q: リクエストとレスポンスの例はサポートされている?A: 現在はサポートしていないが、将来のバージョンでの実装を検討中だ。Q: WebSocket APIでモックがサポートされていないのはなぜ?A: 現在のモックライブラリはWebSocket APIの定義をサポートしていないため、定義に基づいてメッセージボディを生成できない。