将Ember方法映射到API

时间:2015-06-16 02:09:55

标签: ember.js ember-data rails-api

我正在使用Ember Data和Rails API,我想知道如何将特定操作从Ember映射到API。

例如,在查看deleteRecorddestroyRecord的Ember文档时,我没有看到这些方法如何转换为后端。这是在RESTAdapter中配置的吗。

我想知道哪些Ember方法已经连线以发送特定类型的基本CRUD操作请求(例如destroyRecord发送DELETE请求),还有我如何从头开始构建或覆盖这样的方法 - 例如,说我想创建一个remove方法,我可以调用DS.Model并将其映射到/ api / v1 / users#destroy。

1 个答案:

答案 0 :(得分:2)

这是非常基本的,并且在文档中有很好的介绍。

createRecord后跟save会在/apinamespace/things上生成一个POST。

现有记录上的

save会在/apinamespace/things/thingID上生成PUT。

destroyRecorddeleteRecord后跟save,会在/apinamespace/things/thingID上生成删除。

Ember数据存储和模型方法本身在设计上并未意识到它们在序列化程序和适配器级别的实现细节。它们只是从序列化器和适配器调用适当的例程。所以不,我们不希望destroyRecord的文档讨论它是如何在RESTAdapter / JSONSerializer案例中实现的。

如果你有一个非标准的API方案 - 让我们说你的DELETE方法需要一个/apinamespace/things?id=thingID形式的URL,你可以在某些情况下通过自定义适配器来处理这个问题。例如,您可以覆盖buildURL。对于更复杂的情况,您可能需要退出并执行自己的ajax / fetch调用,之后如有必要,您可以pushpushPayload将结果存入商店。