web-dev-qa-db-ja.com

WebSocketsメッセージのHTTPステータスコードに相当するものはありますか?

私はWebSocket APIを開発していますが、クライアントメッセージに応答するための標準またはベストプラクティスがあるのか​​と思っていました。たとえば、APIが文字列化された数値のみを期待しているが、Wordを受け取った場合、どのように応答するのが最善ですか? 400応答に似たものはありますか?逆に、有効な入力に対して200応答のようなものはありますか?

2
Justin Borromeo

通常、Webサービスでjsonメッセージを受信して​​応答する必要があります。これにより、後で最大の柔軟性が得られます。新しいフィールドを追加しても、一方または他方で期待される基本的な型は変更されません。

これをさらに拡張すると、一般的には常にルートを配列ではなくオブジェクトにする必要があります。これは、配列が空になる可能性があるためです。ここでも、柔軟性と将来の変更を考慮した入出力のベースラインを提供する必要があります。

通常、ステータスを示すフィールドがある傾向があります。ここでは、httpタイプの応答コードについて説明していますが、これはおそらく任意のステータスコードシステムにすることができます。

したがって、メッセージが「GREEN」の場合、応答には次の最小メッセージが含まれると予想されます。

{
    "status":  200,
    "message": "GREEN"
}

したがって、受信側で、有効なjsonが見つからない場合、またはステータスフィールドが見つからない場合は、赤旗です。それ以外の場合は、ステータスを確認して、操作が成功したかどうかを判断します。ここで200はもちろん、すべてが正常に行われたと言うための標準のhttpコードです。

その後、ステータスの上に任意の種類のロジックを実行できます。たとえば、ステータス200が表示される場合は、「メッセージ」というフィールドも見つける必要があります。繰り返しますが、システムは任意ですが、通常はこの方法でシステムを設定して、メッセージを渡すためのベースラインを作成します。これにより、サーバーとクライアント間の通信の基本的なプロトコルの基礎を確立できます。

4
Neil