README
@apis/comun
Paquete que implementa funcionalidad b谩sica para servicios apificados creados con node y express.
馃摑 Tabla de contenido
馃 Acerca de
Este proyecto tiene la finalidad que proveer algunas soluciones que se requieren al momento de apificar un servicio. Se incluyen soluciones para logs, manejo de errores, manejo de estructuras de respuesta de 茅xito y error, etc.
馃弫 Comienzo
Estas instrucciones proveen la informaci贸n necesaria para poder integrar este paquete a tu proyecto.
Prerequisitos
- Se requiere tener acceso al repositorio privado (Verdaccio).
- Tu proyecto debe estar construido en Javascript o Typescript.
- Express Validator, en caso de utilizar la funcionalidad de validaci贸n de par谩metros de entrada.
馃敡 Pruebas
Este proyecto a煤n no cuenta con pruebas.
Pruebas unitarias
- Sin informaci贸n
Pruebas de mutaci贸n
- Sin informaci贸n
馃殌 Despliegue
Este proyecto est谩 pensado para proveer funcionalidades a otros proyectos, por lo cual, no cuenta con utilidad al ser desplegado de forma individual.
馃巿 Uso
A continuaci贸n se explica el contenido del paquete, la funcionalidad que integra y las instrucciones de uso.
Errores
El paquete contiene un cat谩logo de errores que pueden ser utilizado durante el manejo de las peticiones. Cada tipo de error contiene, a su vez, un cat谩logo de errores internos.
Ejemplo: Si al hacer una b煤squeda en la base de datos, no se encuentra informaci贸n, se podr铆a lanzar el siguiente error
if(consulta.isEmpty()){
throw new ErrorRecursoNoEncontrado(ErrorRecursoNoEncontradoCodigos.RECURSO_BD_NO_ENCONTRADO, 'No se encontr贸 informaci贸n en la BD');
}
En el ejemplo anterior se utiliz贸 el error ErrorRecursoNoEncontrado
, que recibi贸 ,como primer par谩metro, el subtipo RECURSO_BD_NO_ENCONTRADO
que pertenece a su cat谩logo interno ErrorRecursoNoEncontradoCodigos
. Y como segundo par谩metro recibi贸 una cadena con la descripci贸n del error (Tambi茅n puede recibir un arreglo de cadenas).
Los tipos de errores que contiene el paquete son:
- ErrorServidor
- ErrorPeticionNoValida
- ErrorRecursoNoEncontrado
- ErrorServicioNoDisponible
Manejo de errores
El paquete contiene una funci贸n que intercepta los errores y genera una respuesta que se ajusta al formato establecido por Gobierno de API's.
Para que esta se inicie correctamente, se debe crear una instancia de la clase y debe hacerse despu茅s de registrar todas las dem谩s rutas del proyecto.
Esta funci贸n deber铆a ser utilizada en conjunto con el cat谩logo de errores que se alojan en este mismo paquete. En caso de que se intercepte un error que no pertenezca al cat谩logo, se generar谩 una respuesta de error por default con el c贸digo http 500.
const rutaError = new RutaError(
instanciaRouter, 'Nombre Api', 'Nombre corto API',
);
La clase RutaError
recibe como par谩metros:
- La instancia del router express que est茅 manejando la aplicaci贸n padre.
- El nombre de la API. Este nombre se utiliza en las respuestas de error.
- El nombre corto de la API. Este nombre se utiliza para generar el folio de seguimiento.
Middlewares
RutaError
Iml
Logs
Utilerias
鉀忥笍 Construido con
- Typescript - Superset de Javascript
- Express Validator - Validador de parametros
- Express Async Errors - Manejador de errores as铆ncronos
- Winston - Logs
鉁嶏笍 Autores
- No茅 Linares - Creador
Lista de colaboradores:
馃帀 Reconocimientos
- No hay reconocimientos