Manejo de errores
Desafortunadamente, no siempre sale todo bien! Es importante detectar y manejar todos los errores en forma adecuada.
En caso de que ocurra un error, el status recibido será uno de los siguientes:
Code | Status | Significado |
400 | Bad Request | Petición inválida |
401 | Unauthorized | Las credenciales de acceso no son válidas |
403 | Forbidden | El recurso solicitado no esta dentro de los permitidos |
404 | Not found | La URI solicitada no corresponde a ningun recurso |
405 | Method Not Allowed | El método HTTP no está soportado |
409 | Conflict | El recurso que se intenta crear o modificar entra en conflicto con uno existente |
415 | Unsupported Media Type | El Content-Type del pedido no es soportado |
500 | Internal Server Error | Error del servidor |
503 | Service Unavailable | El servidor está limitando el acceso al recurso |
Como complemento, la respuesta contendrá un objeto
error
con una propiedad status
coincidente con la del status HTTP y un type
que indica el motivos específico del error. Por ejemplo:
{
"href": "/micuenta/contacts",
"success": false,
"error": {
"status": 409,
"type": "RESOURCE_EXISTS",
"userMessage": "El pedido no puedo ser procesado ya que entra en conflicto con un recurso existente",
"validationErrors": {
"email": "Valor duplicado"
}
}
}
Los valores de
type
pueden ser los siguientes:Type | Descripción |
BAD_REQUEST | El pedido tiene una estructura inválida. |
RESOURCE_EXISTS | El recurso que se intentó crear entra en conflicto con uno existente. Se indica en validationErrors los campos en conflicto. |
UNSUPPORTED_MEDIA_TYPE | El formato de datos indicado no es soportado. |
INTERNAL_ERROR | Ocurrió un error interno del servidor. |
METHOD_NOT_ALLOWED | El método HTTP utilizado no es soportado por el recurso especificado. |
NOT_FOUND | El recurso especificado no existe, puede ser porque el ID especificado no exista. |
SERVICE_UNAVAILABLE | El recurso solicitado no esta disponible temporalmente, posiblemente debido a un exceso de carga. |
UNAUTHORIZED | No se proporcionó token de autorización, o es inválido. |
FORBIDDEN | No se dispone del permiso necesario para el recurso solicitado. |
VALIDATION_ERROR | El pedido realizado contiene errores en uno o más campos, en validationErrors se indican los campos con errores. |
ACCOUNT_REQUIRED | Se intentó realizar un login utilizando un email registrado en más de una cuenta, se debe repetir especificando la cuenta. En data se indican las cuentas posibles. |
PASSWORD_EXPIRED | Se intentó realizar un login pero la contraseña esta expirada o debe ser renovada. |
Última actualización 2yr ago