Skip to content
Amiel Martin edited this page Dec 19, 2015 · 3 revisions

Ember Data calls different hooks for each request type. You can customize the url template for each request type.

For example, given the following templates:

export default ApplicationAdapter.extend({
  urlTemplate: '/posts{/id}',
  queryUrlTemplate: '/search/posts{?query*}',
  findAllUrlTemplate: '/posts/all',
});
// The default is urlTemplate
store.findRecord('post', 1); // /posts/1

// If the requestType matches a more specific template, it will be used
store.findAll('post'); // /posts/all
store.query('post', { category: 'featured' }); // /search/posts?category=featured

Possible Templates

  • urlTemplate (default)
  • createRecordUrlTemplate
  • deleteRecordUrlTemplate
  • findAllUrlTemplate
  • findBelongToUrlTemplate
  • findHasManyUrlTemplate
  • findManyUrlTemplate
  • findRecordUrlTemplate
  • queryUrlTemplate
  • queryRecordUrlTemplate
  • updateRecordUrlTemplate

Since these are based on the requestType passed to BuildURL, these may be different for different versions of ember-data. For example, in ember-data 1.0.0-beta-19, findQueryUrlTemplate is used instead of queryUrlTemplate.