2017-03-29 12 views
0

jsonapi-resourcesのgemを使ってカートのようなもの用のAPIを構築しています。カートからアイテムを削除するにはエンドポイントが必要です。JSON APIの削除は「たくさんの関係あり」

現在のところ、このAPIを使用しているクライアントは実際の「カートアイテム」を必要としないと仮定しています。代わりにカート内にある製品の一覧が必要です。

しかし、jsonapi-resourcesでその物のIDを知らずに何かを削除する方法はないようです。私。クライアントが結合モデルのIDを知らずにカートから何かを削除する方法はありません。

は基本的に私は次のように何かをするエンドポイントが必要です。

DELETE http://example.com/carts/1/cart-items?filter[product]=1

代わりに、私は見つけることができる唯一のオプションはまた

DELETE http://example.com/cart-items/1

ですが、私はにカスタムアクションを実装することができこれを処理しますが、私は文書を見てきましたが、私はカスタムアクションを書くための規定された方法を見つけることができません。

+0

このルートを作成するには、DELETE http://example.com/carts/1/cart-items?filter [product] = 1'を作成しますか? – ashvin

+0

コメントありがとう!私は最終的にそれを働いた。これは、宝石がそのような機能を提供していれば、そのルート*の外観の一例に過ぎませんでした。 – Obversity

答えて

0

これを何時間も苦労して、この質問を書いている過程で、私はついに答えを出しました。しかし、それはうまく文書化されていません - それを解決するために宝石のテストを読まなければなりませんでした。

curl -X DELETE -H "Content-Type: application/vnd.api+json" \ --data '{ "data" : [{"type": "products", "id": 185 }] }' \ http://localhost:3000/api/v1/carts/4085/relationships/products

これが正常にカートからアイテムを削除(および製品レコード自体には触れませんでした)。

関連する問題