私はRESTfulなAPIでHTTP POSTとしてaddToCartメソッドを設計し始めました。これは、クライアントが最初に商品をカートに追加したとき(POSTはサーバに新しいエントリを作成するとき)によく見えます。しかし、同じHTTPルールは、クライアントがサイトをブラウズして同じ項目を再び追加するときに破損します。新しいエントリを作成するのではなく、既存のアイテムの数量を更新するだけです。既にカートに入っている既存のアイテムを「カートに追加」するためにRESTful APIに使用するHTTPメソッドはどれですか?
リソースを誤って更新するためにPOSTを使用していませんか?これを実装する方法は何ですか?この状況をどう解釈するか。
注:私のapiを使用するクライアント/ UIフロントは、サーバーに既に存在するかどうかを覚えていません。 eコマースアプリケーションのaddtocartを例として考えてください。
カートに同じ商品がすでに存在するかどうかを確認してくださいそれ以外の場合は新しいものを追加します。 – Veki
私は同じPOSTでそれを行うことができます。しかし、POST仕様ではPOST要求ごとにサーバー上にエントリが作成されるため、HTTP POSTメソッド違反はありませんか? –