-
Notifications
You must be signed in to change notification settings - Fork 37
Closed
Description
Perhaps when serializing errors using serializeError, instead of just having a basic Error document returned like
const error = new Error('An error occurred');
Serializer.serializeError(error)returning:
{ errors: [
{ detail: 'An Error occurred' }
]}Would it perhaps be helpful if the class name of the error was extracted into the title field of the JSON:API error object, resulting in:
{ errors: [
{ detail: 'An Error occurred',
title: 'Error'
}
]}This might seem trivial at first, but it could allow for greater clarity when users might be subclassing their own errors to return, like this:
class AuthError extends Error { }
const err = new AuthError('Authentication token was not provided')
Serializer.serializeError(error)becomes
{ errors: [
{ detail: 'Authentication token was not provided',
title: 'AuthError'
}
]}or,
class ParameterValueError extends Error { }
const err = new ParameterValueError('Parameter "username" must not contain special characters')
Serializer.serializeError(error)becomes
{ errors: [
{ detail: 'Parameter "username" must not contain special characters',
title: 'ParameterValueError'
}
]}Perhaps this could be implemented in the serializeError function by using the following in the convertToError internal function:
convertToError(err){
...
err.title=err.title ? err.title : err.constructor.name
...
}danivek
Metadata
Metadata
Assignees
Labels
No labels