1.1.0 • Published 6 years ago

apx-response v1.1.0

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

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.

NomeStatus CodeStatus NameParametros
ResponseSucess200SUCCESSstatus = success, data
AuthenticationError401UNAUTHORIZEDstatus = fail, message
AuthorizationError403FORBIDDENstatus = fail, message
DatabaseError503SERVICE_UNAVAILABLEstatus = error, message
InternalServerError503SERVICE_UNAVAILABLEstatus = error, message
NotFoundError404NOT_FOUNDstatus = error, message
RequestError400BAD_REQUESTstatus = error, message
ValidationError400BAD_REQUESTstatus = 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.