Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在RESTful系统中,如何向不使用';我没有身份证_Rest_Ember.js_Ember Data - Fatal编程技术网

在RESTful系统中,如何向不使用';我没有身份证

在RESTful系统中,如何向不使用';我没有身份证,rest,ember.js,ember-data,Rest,Ember.js,Ember Data,现在我的系统有一些api没有唯一的id,所以如何从ember数据发出请求 因为find方法需要一个id,但我没有它 目前,我的解决方案是使用纯AJAX调用来获取此类数据 因此,有没有更好的解决方案来实现这一点。我想你应该使用DS.RESTSerializer,如果是这样,你可以为你的应用程序的每个模型或全局设置特定的自定义primaryKey 全球应用 App.ApplicationSerializer = DS.RESTSerializer({ primaryKey: 'customId'

现在我的系统有一些api没有唯一的id,所以如何从ember数据发出请求

因为
find
方法需要一个id,但我没有它

目前,我的解决方案是使用纯AJAX调用来获取此类数据


因此,有没有更好的解决方案来实现这一点。

我想你应该使用
DS.RESTSerializer
,如果是这样,你可以为你的应用程序的每个模型或全局设置特定的自定义
primaryKey

全球应用

App.ApplicationSerializer = DS.RESTSerializer({
  primaryKey: 'customId'
});
如果您的行为是针对一对模型,那么您也会对这些模型执行相同的操作

App.MyModel = DS.Model.extend({
  name: DS.attrs('string')
});

App.MyModelSeriliazer = App.ApplicationSerializer.extend({
   primaryKey: 'customId'
});

EmberJS会将此
customId
映射到ember数据中的
id

为该模型创建一个适配器,并重写
buildURL
方法以始终返回不带id的URL。然后调用
find
等id,它将始终获取从
buildURL
返回的URL。没有ID,它是一个RESTful系统吗?或者在RESTful系统中,资源必须有一个ID?好吧,如果您有一个像
/account
这样的单一资源,那么除了将/POST/GET/DELETE添加到URL端点之外,您没有什么其他可以做的了……我想您误解了我的问题