Class NotFoundError
public
Extends:
AdapterError
Defined in:
../packages/adapter/addon/error.js:284
Module:
@ember-data/adapter/error
A NotFoundError
equates to a HTTP 404 Not Found
response status.
It is used by an adapter to signal that a request to the external API
was rejected because the resource could not be found on the API.
An example use case would be to detect if the user has entered a route for a specific model that does not exist. For example:
app/routes/post.js | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import Route from '@ember/routing/route'; import { NotFoundError } from '@ember-data/adapter/error'; import { inject as service } from '@ember/service'; import { action } from '@ember/object'; export default class PostRoute extends Route { store; model(params) { return this.store.findRecord('post', params.post_id); } error(error, transition) { if (error instanceof NotFoundError) { // redirect to a list of all posts instead this.transitionTo('posts'); } else { // otherwise let the error bubble return true; } } } |