0

我正在使用 jsonapi-resources gem 为类似购物车的东西构建一个 API,我需要一个端点来从购物车中删除一个项目。

目前,我假设使用此 API 的客户端不需要实际的“购物车项目”。相反,它只需要购物车中的产品列表。

但是,似乎没有任何方法可以在不知道该事物 ID 的情况下删除 jsonapi-resources 中的某些内容。即,如果客户不知道连接模型的 ID,就无法从购物车中删除某些东西。

基本上我需要一个执行以下操作的端点:

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

相反,我能找到的唯一选择是

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

或者,我可以实现一个自定义操作来处理这个问题,但我已经浏览了文档,但找不到编写自定义操作的规定方式。

4

1 回答 1

0

经过几个小时的努力,在写这个问题的过程中,我终于找到了答案。但是,它根本没有很好的文档记录——我必须通读 gem 的测试才能解决它。

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

这成功地从购物车中删除了该项目(并且没有触及产品记录本身)。

于 2017-03-29T05:46:25.027 回答