15

私はクライアントとサーバーアプリケーションに取り組んでいて、興味深い問題に遭遇しました。安らかなAPIを作成し、JSON応答を使用してクライアントと通信しています。DELETEを実行すると、空白の応答で200OKが返されます。クライアントは200OKを取得していますが、JSONの解析に失敗しています。

失敗した解析は完全に理解しています(解析するものはありません)が、もっと大きな質問がありました。空白の応答を送信することは有効なJSON{}ですか、それともその効果を返すか何かを返す必要がありますか?ありがとう。

4

2 に答える 2

16

DELETE メソッドに関するHTTP/1.1 定義から:

成功応答は、応答にステータスを説明するエンティティが含まれている場合は 200 (OK)、アクションがまだ実行されていない場合は 202 (承認済み)、アクションが実行されているが応答に含まれていない場合は 204 (コンテンツなし) である必要があります。エンティティ。

したがって、サーバーがアイテムをすぐに削除している場合、推奨される応答は次のようになります。

  • 200 OK - ある種のステータス コードを返します (ブール値の true、または「成功」を示す文字列など)
  • 204 No Content - 何も返さず、リクエストが成功したことを認識しながら、クライアントにこのレスポンスを監視させ、JSON 解析を試みないようにします。
于 2012-08-15T14:52:10.943 に答える
7

ここで簡単なテストを行うだけです:http://jsonlint.com/は、空白は有効なJSONであり、有効なJSONであることを示してい{}ます。

于 2012-08-15T14:18:49.520 に答える