質問
私は開発を簡単RESTful APIは、全く好きにどのようばかです。って、不確実性を正確にHTTPリダイレクトのHTTPレスポンスコードのさまざまなシチュエーションで:
正しく形成され索
正しく形成されクエリを参照するリソースは存在しない
資源の削除に成功し
資源の成功を編集
私は現在のと考える1という 403 Forbidden
;2つのう 410 Gone
;3と4の 202 Accepted
.いい音です。
解決
#1の場合、403は、アプリケーションが要求を理解示唆が、文句を言わない(すなわち、現在のユーザが何らかの理由のためにそれを行うためのアクセス許可を持っていない)、それを果たします。私は400不正な要求が、この場合にはより多くの意味をなすかもしれないと思う。
は、#2のために - 私は、すなわち、リソースがない限り、見つからない404はより多くの意味を作ると思うだろう リソースは、ある時点で存在しなかった、そしてその場合には410公正になり、削除されました - 。しかし、多くのクライアントが410で何をすべきかわからない。
#3&#4のために - 200あなたは成功し、削除を処理した場合、202削除がキューに登録され、「バンドの外」後日処理されます。
場合。RFC 2616 には、各応答コードが中に意味の偉大な説明を提供しますかなり理解しやすい用語ます。
他のヒント
- 400
- 404
- 200
- 200
- 201-資源の開発に成功
1)。 400 - 標準の悪い要求は、403要求が正しくフォーマットされていますが、それをアクセスすることを許可されていないこと
2)。 404 - 410、リソースが存在しなかったことを意味するが、意図的に移動された
3)。および4)。 200アクションはアクションが保留されている場合は、応答、202を送信するまでに成功した起こった場合。実際には202(彼らは審査を受けるかもしれません)、削除アクションの可能性が高いですが、あるいは、実際にユーザーに削除表示されますので、すぐにとにかく200を返すようにしたいない場合があります。これは、設計、質問私見です。
リチャードソン&ルビーブックを取得する - それが役に立つの付録にしていますあなたの質問のいずれかの方法を読んで必要とされる。
なぜ HTTPレスポンスコードの標準を使用していません。あなたは自由のためのHTTPの場所に置く/インフラ(例、303、304用)すべての最適化になるだろう。