私はRESTAPIでPOSTを使用してオブジェクトを作成しています。時々、サーバーはオブジェクトを作成しますが、クライアントは201 Created
応答を受信する前に切断されます。クライアントは失敗したPOSTリクエストのみを確認し、後で再試行し、サーバーは複製オブジェクトを作成します...
他の人はこの問題を抱えていたに違いありませんよね?しかし、私はグーグルで回り、誰もがそれを無視しているようです。
私には2つの解決策があります:
A)代わりにPUTを使用し、クライアントで(GU)IDを作成します。
B)クライアントで作成されたすべてのオブジェクトにGUIDを追加し、サーバーにそれらのUNIQUE
-nessを適用させます。
Aは既存のフレームワークとあまり一致せず、Bはハックのように感じます。現実の世界では、他の人はこれをどのように解決しますか?
編集:
Backbone.jsを使用すると、クライアントでオブジェクトを作成するときにGUIDをIDとして設定できます。保存されると、BackboneはPUTリクエストを実行します。RESTバックエンドが存在しないIDへのPUTを処理するようにすると、設定が完了します。