[解決済み] リクエストの一部が成功した場合のHTTPステータスコード
2022-06-08 04:13:31
質問
ユーザーにメッセージを送信するアプリケーションを持っています。ポストリクエストでは、その特定のメッセージを受け取るべきすべてのユーザーで構成される XML 文字列が転送されます。リスト内のユーザーのいずれかが存在しない場合、私はさらなる評価のために不足しているユーザーのリストをクライアントに返します。
今、私は、リクエストが受け入れられたが、実行できないことがあったというアプリケーションの適切なステータス コードは何であるかと自問しています。
リストに見つからないユーザーを含めることが許可されていない場合、問題は回避されます。その場合、送信しようとすると、4xx エラーが発生するだけです。しかし、この方法で API を形成する意味はありません。 一方、エラー条件を純粋にアプリケーション固有のものと考えることもできます。しかし、200を送信するのは正しいとは思えません。そして、いつエラーレスポンスを深く見るべきかのヒントをクライアントに与えるのは良いことでしょう。例えば、そのユーザーに何度もメッセージを送るのを避けるためです。
どのように解決するのですか?
非常に似たような問題を扱ったことがあります。この場合、私は
207 マルチステータス
これは厳密な HTTP ではなく、WebDAV 拡張の一部なので、クライアントも制御できない場合は、この方法はあまり向いていません。もしそうなら、このようにすることができます。
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D='DAV:'>
<D:response>
<D:user>user-123</D:user>
<D:status>success</D:status>
</D:response>
<D:response>
<D:user>user-789</D:user>
<D:status>failure</D:status>
</D:response>
</D:multistatus>
しかし、繰り返しになりますが、これはHTTP拡張であり、クライアントも制御する必要があります。
関連
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] updateとdeleteのHTTPステータスコード?
-
[解決済み] リソースが既に存在する場合の POST に対する HTTP レスポンスコード
-
[解決済み] node.jsでHTTP POSTリクエストはどのように行われるのですか?
-
[解決済み] 検証失敗または重複が無効な場合のREST HTTPステータスコード
-
[解決済み] HTTP DELETE リクエストにエンティティボディは許されますか?
-
[解決済み] RESTアプリケーションはステートレスであることが前提である場合、セッションはどのように管理するのですか?
-
[解決済み] HTTPリダイレクト:301(永久)と302(一時)の比較
-
[解決済み] [Solved] リクエストに必須パラメータがない場合、どのようなHTTPステータスレスポンスコードを使用すればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
youtubeマッチチャンネル(チャンネル)
-
[解決済み] HTTPポストで文字+が%2Bに変換される
-
[解決済み] Preflightとredirectを使用したCORSリクエスト: 不許可になりました。回避策は?
-
[解決済み】無効なデータに対するRESTレスポンスコード
-
[解決済み】Node.jsのほとんどのポートでリスニングするとEACCESエラーが発生する。
-
[解決済み] bash/shellスクリプトからhttp応答コードを評価する方法は?
-
[解決済み】ダイジェスト認証とベーシック認証の違いは何ですか?
-
[解決済み】マイクロサービスのオーケストレーション
-
[解決済み】Accept* HTTPヘッダのq=0.5とは何ですか?
-
[解決済み] URLのプロトコルを継承するために、先頭のダブルスラッシュを使用することに何か不都合はありますか? 例:src="//domain.com"