Class DS.RESTAdapter
| Extends: | DS.Adapter |
|---|---|
| Uses: | DS.BuildURLMixin |
| Defined in: | addon/adapters/rest.js:33 |
| Module: | ember-data |
coalesceFindRequests
| Module: | ember-data |
|---|
Defined in addon/adapters/rest.js:351
By default the RESTAdapter will send each find request coming from a store.find or from accessing a relationship separately to the server. If your server supports passing ids as a query string, you can set coalesceFindRequests to true to coalesce all find requests within a single runloop.
For example, if you have an initial payload of:
{
post: {
id: 1,
comments: [1, 2]
}
} By default calling post.get('comments') will trigger the following requests(assuming the comments haven't been loaded before):
GET /comments/1 GET /comments/2
If you set coalesceFindRequests to true it will instead trigger the following request:
GET /comments?ids[]=1&ids[]=2
Setting coalesceFindRequests to true also works for store.find requests and belongsTo relationships accessed within the same runloop. If you set coalesceFindRequests: true
store.findRecord('comment', 1);
store.findRecord('comment', 2); will also send a request to: GET /comments?ids[]=1&ids[]=2
Note: Requests coalescing rely on URL building strategy. So if you override buildURL in your app groupRecordsForFindMany more likely should be overridden as well in order for coalescing to work.
defaultSerializer
| Module: | ember-data |
|---|
Inherited from DS.Adapter addon/adapter.js:65
If you would like your adapter to use a custom serializer you can set the defaultSerializer property to be the name of the custom serializer.
Note the defaultSerializer serializer has a lower priority than a model specific serializer (i.e. PostSerializer) or the application serializer.
app/adapters/django.jsimport DS from 'ember-data';
export default DS.Adapter.extend({
defaultSerializer: 'django'
}); headers
| Module: | ember-data |
|---|
Defined in addon/adapters/rest.js:435
Some APIs require HTTP headers, e.g. to provide an API key. Arbitrary headers can be set as key/value pairs on the RESTAdapter's headers object and Ember Data will send them along with each ajax request. For dynamic headers see headers customization.
app/adapters/application.jsimport DS from 'ember-data';
export default DS.RESTAdapter.extend({
headers: {
'API_KEY': 'secret key',
'ANOTHER_HEADER': 'Some header value'
}
}); host
| Module: | ember-data |
|---|
Defined in addon/adapters/rest.js:418
An adapter can target other hosts by setting the host property.
app/adapters/application.jsimport DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: 'https://api.example.com'
}); Requests for the Post model would now target https://api.example.com/post/.
namespace
| Module: | ember-data |
|---|
Defined in addon/adapters/rest.js:400
Endpoint paths can be prefixed with a namespace by setting the namespace property on the adapter:
app/adapters/application.jsimport DS from 'ember-data';
export default DS.RESTAdapter.extend({
namespace: 'api/1'
}); Requests for the Post model would now target /api/1/post/.
© 2020 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License.
https://api.emberjs.com/ember-data/2.18/classes/DS.RESTAdapter/properties