apx-response
v1.1.0
Published
Módulo dedicado a padronizar as responstas da API, sucesso, erros e tratamentos.
Downloads
3
Readme
apx-response
Módulo dedicado a padronizar as responstas da API, sucesso, erros e tratamentos.
Instalação
npm install apx-queue -P
Utilização
A interface expõe um objeto com duas propriedades:
error
- um objeto contendo todos os Errors;errorHandlerMW
- um middleware para tratamento de erros.
Errors
Os erros expostos na propriedade error
extendem a classe Error, e tem uma propriedade status
contendo o status HTTP equivalente. A mensagem do erro tem default para uma descrição do status HTTP.
| Nome | Status Code | Status Name | Parametros | | --- | --- | --- | --- | | ResponseSucess | 200 | SUCCESS | status = success, data | | AuthenticationError | 401 | UNAUTHORIZED | status = fail, message | | AuthorizationError | 403 | FORBIDDEN | status = fail, message | | DatabaseError | 503 | SERVICE_UNAVAILABLE | status = error, message | | InternalServerError | 503 | SERVICE_UNAVAILABLE | status = error, message | | NotFoundError | 404 | NOT_FOUND | status = error, message | | RequestError | 400 | BAD_REQUEST | status = error, message | | ValidationError | 400 | BAD_REQUEST | status = fail, message, field |
Middleware
O middleware exposto na propriedade errorHandlerMW
vai tratar o erro e responder a request de forma padronizada.
Para utilizar em uma aplicação express, registre o middleware após as rotas:
const app = require('express')();
const { errorHandlerMW } = require('apx-response');
app.use(...); // suas rotas
app.use(errorHandlerMW);
Garanta que os erros são passados para a função next
dos middlewares que processam a request:
const { ValidationError } = require('apx-response');
module.exports = (req, res, next) => {
next(new ValidationError('campo invalido', 'campo'));
}
Caso a request tenha a propriedade logger populada, o erro será logado automaticamente.