[解決済み] 非推奨APIをクライアントに通知するためのHTTPレスポンスヘッダに関する規約
質問
REST API のエンドポイントをアップグレードしているのですが、廃止予定のエンドポイントを呼び出しているときに、クライアントに通知したいのです。
この API のバージョンは非推奨です。最新のドキュメントを参照して、エンドポイントを更新してください。
どのように解決するのですか?
後方互換性を保つために、ステータスコードは何も変更しません。私なら、レスポンスに "Warning" ヘッダーを追加します。
Warning: 299 - "Deprecated API"
警告を発する "Agent" で "-" を指定し、警告文の中でより明示的にすることもできます。
Warning: 299 api.blazingFrog.com "Deprecated API: use betterapi.blazingFrog.com instead. Old API maintained until 2015-06-02"
警告ヘッダはここで指定します。 https://www.rfc-editor.org/rfc/rfc7234#section-5.5 . Warn-code 299は一般的なもので、"Deprecated"は標準的なものではありません。
APIクライアントにHTTP警告をログに記録するよう指示し、監視する必要があります。
今まで使ったことはないのですが、今後Rest APIが成熟してきたら組み込んでみようと思っています。
<ブロッククオート
編集しました(2019-04-25)。ハリー・ウッド氏(@Harry Wood)が言及しているように、Warningヘッダはドキュメントのキャッシュに関連する章に記載されています。しかし、RFCでは明確に
Warnings can be used for other purposes, both cache-related and otherwise.
別の方法を好むのであれば、このドラフト https://datatracker.ietf.org/doc/html/draft-dalal-deprecation-header-00 は新しいヘッダ "Deprecation"を提案しています。
<ブロッククオート編集 (2021-01-04) : @Dima Parzhitsky が言及したように、MDN はこのように言っています。 ヘッダは非推奨とされています。
関連
-
[解決済み] updateとdeleteのHTTPステータスコード?
-
[解決済み] リソースが既に存在する場合の POST に対する HTTP レスポンスコード
-
[解決済み] HttpClientリクエストのContent-Typeヘッダーはどのように設定するのですか?
-
[解決済み] 検証失敗または重複が無効な場合のREST HTTPステータスコード
-
[解決済み] HTTP DELETE リクエストにエンティティボディは許されますか?
-
[解決済み] RESTを理解する。動詞、エラーコード、認証
-
[解決済み] RESTアプリケーションはステートレスであることが前提である場合、セッションはどのように管理するのですか?
-
[解決済み] REST APIサービスが検証に失敗した場合に返すべき適切なHTTPステータスコードは何ですか?
-
[解決済み] [Solved] リクエストに必須パラメータがない場合、どのようなHTTPステータスレスポンスコードを使用すればよいですか?
-
[解決済み] RESTful - DELETE レスポンスボディに含まれるべき内容
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] 全レコードを返すElasticsearchクエリ
-
[解決済み] 検索のためのRESTfulなURL設計
-
[解決済み] オブジェクト内のアイテムの合計数を返すための最良のRESTfulメソッドは何ですか?
-
[解決済み] レスポンスコードが200または201で、内容がPOSTのリクエストを作成します。
-
[解決済み] HTTP DELETEでリソースを2回目に削除したときのステータスコード
-
[解決済み] HATEOAS(REST-architecture)の実例集 [終了しました]。
-
[解決済み] RESTfulなパスワードリセット
-
[解決済み] バージョン管理されたAPIのコードベースはどのように管理されていますか?
-
[解決済み] そのREST APIは本当にRPCなのか?ロイ・フィールディングはそう考えているようだ