Muy didáctico el curso hasta aqui. Me parece muy bueno el desarrollo.
Introducción
¿Qué es Express.js?
Configuración del entorno de desarrollo para este curso
Instalación de Express.js y tu primer servidor HTTP
Routing con Express.js
CRUD
¿Qué es una RESTful API?
GET: recibir parámetros
GET: parámetros query
Separación de responsabilidades con express.Router
Instalación de Postman o Insomia
POST: método para crear
PUT, PATCH y DELETE
Códigos de estado o HTTP response status codes
Servicios
Introducción a servicios: crea tu primer servicio
Crear, editar y eliminar
Async await y captura de errores
Middlewares
¿Qué son los Middlewares?
Middleware para HttpErrors
Manejo de errores con Boom
Validación de datos con Joi
Probando nuestros endpoints
Middlewares populares en Express.js
Deployment
Consideraciones para producción
Problema de CORS
Deployment a Heroku
Próximos pasos
Continúa en el Curso de Node.js con PostgreSQL
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 12
Preguntas 4
Muy didáctico el curso hasta aqui. Me parece muy bueno el desarrollo.
Cree el de usuarios y categorías siguiendo el mismo ejemplo que productos dejo mi ejemplo de usuarios
const express = require('express');
const faker = require('faker');
const router = express.Router();
READ users
router.get('/', (req, res) => {
const users = [];
const {size} = req.query;
const limit = size || 10;
for (let i = 0; i < limit; i++) {
users.push({
name: faker.name.firstName(),
lastName: faker.name.lastName(),
image: faker.image.imageUrl(),
});
}
res.json(users);
});
READ user
router.get('/:id', (req, res) => {
const { id } = req.params;
res.json({
id,
name: faker.name.firstName(),
lastName: faker.name.lastName(),
image: faker.image.imageUrl(),
});
});
CREATE
router.post('/', (req, res) => {
const body = req.body;
res.json({
message: 'Creation',
data: body
});
});
UPDATE
router.patch('/:id', (req, res) => {
const { id } = req.params;
const body = req.body;
res.json({
message: 'Update',
data: body,
id
});
});
DELETE
router.delete('/:id', (req, res) => {
const { id } = req.params;
res.json({
message: 'deleted element',
id
});
});
module.exports = router;
El profe Nicolás es muy buen docente y te permite aprender de forma didáctica estos temas que a veces pueden resultar un poco abstractos
RESUMEN:
PUT requiere enviar una representación completa del recurso que se está modificando, se debe implementar de forma idempotente y es adecuado para situaciones en las que una aplicación debe asegurarse que el estado final del recurso será idéntica a la que envía.
PATCH es adecuado para hacer modificaciones parciales, o para enviar un conjunto de instrucciones en lugar del resultado final.
DELETE no requiere de un formato en especial solo con el identificador para borrar un recurso en especifico.
Les recomiendo leer su propio código al retomar las clases!
Al menos yo no lo hacía y ahora comencé a hacerlo. No sólo se entienden más cosas, es como una inmersión previa para aprender nuevamente!
La destructuracion es bastante poderosa. En el minuto: 2:58 en vez de hacerlo asi.
const { id } = req.params;
const body = req.body;
Lo hice de esta manera
const { body, params: { id } } = req;
Y el body y el id se pueden reutilizar de la misma manera, me parece bastante util que se puedan destructurar objectos mas complejos dentro de otros.
La verdad este es uno de los cursos que mas me ha gustado muy organizado
Muy bien al utilizar el pat, pach y delete! muy buen video.
Usando lo aprendido:
.
Categories
const categoriesData = [
'Sports',
'Books',
'Computing',
'Consoles and Videogames',
'Beauty and Personal Care',
'Children and Baby Toys',
];
GET
router.get('/', (req, res) => {
const categories = [];
for (let i = 0; i < categoriesData.length; i++) {
categories.push({
categoryName: categoriesData[i],
});
}
res.json(categories);
});
CREATE
router.post('/', (req, res) => {
const body = req.body;
res.json({
message: 'created',
data: body,
});
});
UPDATE (PATCH)
router.patch('/:id', (req, res) => {
const { id } = req.params;
const body = req.body;
res.json({
message: 'update',
data: body,
id,
});
});
DELETE
router.delete('/:id', (req, res) => {
const { id } = req.params;
res.json({
message: 'deleted',
id,
});
});
module.exports = router;
excelente curso
CRUD API
//Obtiene todo los productos
router.get('/',(req,res)=>{
const products =[];
const {size}= req.query;
const limit=size||10;
for (let index = 0; index < limit; index++) {
products.push({
name:faker.commerce.productName(),
price: parseInt(faker.commerce.price(),10),
image: faker.image.imageUrl()
});
}
res.json(products);
});
//Guardar producto nuevo
router.post('/', (req,res)=>{
const body = req.body;
res.json({
message: 'created',
data:body
});
});
//Actualiza producto
router.patch('/:id', (req,res)=>{
const {id}=req.params;
const body = req.body;
res.json({
message: 'Update',
data:body,
id
});
});
//Elimina producto
router.delete('/:id', (req,res)=>{
const {id}=req.params;
res.json({
message: 'Deleted',
id
});
});
{
"message": "Update",
"data": {
"name": "Change nuevo Product"
},
"id": "122"
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.