私はMVCフレームワークを開発しようとしています。RESTful MVCフレームワークでHTTPリダイレクトを使用することはできますか?
ユーザーが新しいレコードを作成すると、新しいレコードが正常に作成された場合、新しいレコードが表示されるように思えます。
httpリダイレクトを使用して、ユーザーを新しいレコードのビューに移動することはできますか?
私はMVCフレームワークを開発しようとしています。RESTful MVCフレームワークでHTTPリダイレクトを使用することはできますか?
ユーザーが新しいレコードを作成すると、新しいレコードが正常に作成された場合、新しいレコードが表示されるように思えます。
httpリダイレクトを使用して、ユーザーを新しいレコードのビューに移動することはできますか?
しないでください!状況に応じて正しいHTTP応答コードを使用してください。たとえば、お使いのシステムへのユーザーの投稿が新しいレコード場合:
POST record/id
New record stuff
は笑顔で幸せそうな顔を持つHTML表現として、だけでなく、正しいHTTPレスポンスコードとしてだけでなく、フィードバックを与えます。 (。つまり、HTTP 201 - 作成された)
201 Created
レコードを作成する場合は、HTTP 201が推奨されるステータスコードです。
ただし、リダイレクトしたい場合があります。たとえば、あなたのAPIは現在のURLにはなく、ユーザーを新しいURLにリダイレクトしたいとします。
私は何を見つけたのthatsの種類、私は物事を表示するために使用した既存の 'ビュー'を使用してデータベース内のものを作成していたが、その後、任意の相対的なリンクがbeacuase私は例えば、私はどこにいるべきであるかよりむしろcom/create。 example.com/view/1ので、リダイレクトを使用することに決めましたが、私は間違って感じました。 – jx12345
部分的にしか正しくありません。レコードの 'id'がUser-Agent(UA)に事前に知られている場合、(技術的に可能な)正しい方法はPUTです。 'id'がUAによって知られておらず、サーバ側に割り当てられている場合、サーバは201応答コードで応答し、' Location'ヘッダを使用して新しく作成されたリソースのURIをUAに示す必要があります。 (OPがリダイレクトについて具体的に尋ねたので、これを明確にしたかった) – MicE
@MicE明確化のために感謝! – supertopi
私の元の投稿以来、インスピレーションのためのいくつかの既存のフレームワークを見てきました。私は、Yiiフレームワークが最初に提案したことをするように見えることを発見しました.. – jx12345