- GET: https://api-rest-con-expres-js.vercel.app/api/v1/products
- GET: https://api-rest-con-expres-js.vercel.app/api/v1/products/:id
- POST: https://api-rest-con-expres-js.vercel.app/api/v1/products
- PATCH: https://api-rest-con-expres-js.vercel.app/api/v1/products/:id
- DELETE: https://api-rest-con-expres-js.vercel.app/api/v1/products/:id
- GET: https://api-rest-con-expres-js.vercel.app/api/v1/users
- GET: https://api-rest-con-expres-js.vercel.app/api/v1/users/:id
- POST: https://api-rest-con-expres-js.vercel.app/api/v1/users
- PATCH: https://api-rest-con-expres-js.vercel.app/api/v1/users/:id
- DELETE: https://api-rest-con-expres-js.vercel.app/api/v1/users/:id
Es una convección que se refiere a servicios web por protocolo HTTP Métodos:
- Get: Obtener
- Put: Modificar/Actualizar
- Patch: Modificar/Actualizar
- Post: Crear
- Delete: Eliminar
La convención de REST nos dice que por cada casi entidad que tengamos tendremos una ruta, un endpoint con un nombre, y también deberíamos tener un id por cada producto
El término middleware se refiere a un sistema de software que ofrece servicios y funciones comunes para las aplicaciones. En general, el middleware se encarga de las tareas de gestión de datos, servicios de aplicaciones, mensajería, autenticación y gestión de API.
- Funcionan como Pipes
- Validar datos
- Capturar errores
- Validar permisos
- Controlar accesos
Los servicios es donde encapsulamos todos los casos de usos y comenzar a interactuar con la lógica de negocio. En el caso de una tienda: hacer compras, transacciones, etc.
Esta arquitectura está definida por capas.
- En esta capa encontramos las entidades base del negocio.
- En nuestro caso: productos, categorías, órdenes de compra.
- En esta capa tenemos lo relacionado a la lógica de negocio
- En esta capa se encuentra los servicios
- En esta capa se brinda el acceso.
- Aquí encontramos el routing
- Controladores: Encontramos los routes y middleware.
- Los controladores acceden a la capa de servicios
- Servicios: donde se encuentra la lógica de negocio
- Los servicios usan las librerías.
- Las librerías se encargan de contactarse a la capa de entidades
- Las librerías se contactan a otras fuentes de datos: API externa o base de datos.
Joi es la herramienta más poderosa para la validación de datos en JavaScript. Este módulo permite crear esquemas de datos usando un lenguaje simple, comprensible e intuitivo. A la hora de interactuar con una API, es muy importante que se validen los datos tanto en el lado del servidor como en el del cliente para tener controlados posibles errores y la forma en la que se interactúa con la base de datos.
Middleware para habilitar CORS (Cross-origin resource sharing) en nuestras rutas o aplicación. Cors middleware
Un logger de solicitudes HTTP para Node.js. Morgan
Helmet nos ayuda a proteger nuestras aplicaciones Express configurando varios encabezados HTTP. ¡No es a prueba de balas de plata, pero puede ayudar! Helmet
Nos permite hacer debugging de nuestras aplicaciones en Express mediante el uso de un toolbar en la pagina cuando las estamos desarrollando. Express Debug
Este middleware nos permite evitar preocuparnos por escribir las rutas con o sin slash al final de ellas. Express Slash
Passport es un middleware que nos permite establecer diferentes estrategias de autenticación a nuestras aplicaciones. Passport
Puedes encontrar más middlewares populares en el siguiente enlace: Middleware populares