RESTアーキテクチャの実装が不適切な開発者向けの1つの主要なリソースに直面している私は、Intelに従ってムーアの法則の神話を暴き、ネットワークの整合性に違反するRESTfulアプリケーションを実装する際の最も一般的な間違いに注意を喚起したいと考えています。 その時点で、ほとんどすべての開発者、Webフレームワーク、さらには非常に人気のあるリソース(GitHubなど)にさえ罪がありますが...
少し背景から始めましょう。 Oauthを使用してサイトの認証を開発し、次のリクエストに対して、「404 Not found」という回答を受け取りました。 大丈夫だと思って、ドキュメントを確認し、コードを調べて驚いた-404番目のエラーはありません。 ご想像のとおり、ドキュメントのすべての行とプログラムを確認し、エラーを探すのに少し時間を費やしました。 それを発見したとき、私は自分自身とgithub開発者の両方に怒っていました。 どうしたの?
問題は、リクエストで指定されたHTTPメソッドがコードとドキュメントで一致しないことでした。 ちょっと待って! 結局、URLは識別子(より正確には、その亜種)です。つまり、どんな状況でも404番目のエラーを受け取るべきではなかったことを意味します(私を失敗させたのはこの自信でした)。 最後の手段として、「Bad Request」の400番目の見出しを受け取ることを期待していましたが、404ではありません。
本当に何が起こるはずだったのですか? この場合の標準では、 HTTPステータス405 “ Method Not Allowed”があります。この場合、サーバーは有効なメソッドのリストを回答とともに送信する義務があります。 標準は、このリストをどの形式で送信するかを指定しませんが、明らかに、クライアントが「Accept」ヘッダーを考慮してそれを読み取ることができる形式で指定します。
今日ご想像のとおり、この過ちを繰り返さないWebフレームワークやリソースを見つけるのは困難です。これは、厳しい専門家よりも初心者に特徴的です。 私の意見では、私の個人的な意見は特に明るく、おそらく滑comに、RESTアーキテクチャの普及の間にMicrosoft笑されたMicrosoftでHTMLを標準化するための闘争の背景に対抗します。 その結果、ネットワークノードの下位互換性が失われる可能性があり、今日では、各アプリケーションを個別に構成する必要性を考慮して、最新の製品をソフトウェアシステムに迅速に統合することは不可能です。