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?
¡Es tu turno: crea un tutorial!
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
Deployment a Vercel
Próximos pasos
Continúa en el Curso de Node.js con PostgreSQL
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Los status codes en REST son una parte esencial de la comunicación entre clientes y servidores. Estos códigos numéricos nos indican el estado de una solicitud HTTP. Al observar un status code, podemos saber si una operación fue exitosa, hubo errores o se necesita tomar alguna acción adicional.
Estos códigos se dividen en rangos numéricos que identifican diferentes tipos de respuestas:
Implementar los status codes correctamente no solo ayuda a mantener la integridad de las aplicaciones REST, sino que también mejora la experiencia del cliente. En el siguiente ejemplo, aprenderás cómo puedes implementar diferentes status codes en tu aplicación.
Cuando en una API REST se realizan operaciones de creación, es adecuado utilizar el status code 201. Este código confirma a los clientes que el recurso se creó exitosamente.
// Enviamos status 201 en caso de creación exitosa
app.post('/create', (req, res) => {
// Lógica para crear el recurso
res.status(201).json({ message: 'Recurso creado exitosamente' });
});
En situaciones donde un recurso no puede ser encontrado, se debe informar al cliente enviando un status code 404. Este es un ejemplo de cómo manejarlo dinámicamente:
// Verificar si el ID es 999 y retornar 404
app.get('/product/:id', (req, res) => {
const productId = req.params.id;
if (productId === '999') {
// Envía un 404 not found
res.status(404).json({ error: 'Producto no encontrado' });
} else {
// Manejamos la respuesta normal con un 200
res.status(200).json({ id: productId, name: 'Nombre de producto' });
}
});
Cuando manejas solicitudes GET, es fundamental recordar que los parámetros recibidos siempre serán procesados como strings, sin importar si son números. Esto podría influir en la lógica de tu aplicación y en cómo implementas las comprobaciones de status codes.
Ahora que has aprendido a utilizar e implementar status codes, puedes explorar recursos como la documentación de Mozilla Developer Network (MDN) o la curiosa página de los gatos que ilustra los status codes de manera divertida con imágenes felinas. Estas herramientas te ayudarán a elegir el status code apropiado para cada situación.
Déjame en los comentarios cuáles de estos status codes no conocías y cómo piensas aplicarlos en tu proyecto. ¡Continúa explorando el fascinante mundo de las APIs REST!
Aportes 39
Preguntas 3
Yo prefiero httpstatusdogs
No sabía que existía el 418 y al parecer es una broma del día de los inocentes
Listo para la impresión 🖨️:
;
const { StatusCodes } = httpStatusCodes;
router.get('/:productId', (req, res) => {
const { productId } = req.params;
if (parseInt(productId) === 999) {
res.status(StatusCodes.NOT_FOUND).json({
message: 'Product doesnt exist'
});
} else {
res.status(StatusCodes.OK).json(productId);
}
});
router.patch('/:productId', (req, res) => {
const body = req.body;
const { productId } = req.params;
res.status(StatusCodes.PARTIAL_CONTENT).json({
message: 'Product updated partially',
data: body,
productId
})
});
Este curso es bien bueno, entendible, tenía dudas de cursos anteriores y ahora todo me ha quedado claro.
También se puede validar de esta forma.
😂 204 No content
Tabla con todos los codigos de estado.
Todos los parámetros que se reciban por el método get o de tipo query se envían como string
Este curso me cambió la vida
Jajajaja necesito eso gatos pero en sticker
Para enviar un status
de manera dinamica podemos hacerlo de la siguiente manera:
if (id == "13") {
res.statusCode = 223;
}
y con la propiedad statusCode
no hace falta llamar al metodo status
LOL
JAJAJA
Mi ejemplo de delete con manejo de estados
Esa página de status con gatos es lo maximo jajajaja
Un código de estado es una parte de la respuesta devuelta por el servidor cuando un cliente (por ejemplo, un navegador) llama a una URL. Con la ayuda de un código de estado, el servidor indica al cliente si la solicitud se ha procesado correctamente o si se ha producido un error.
???
Pienso que el else esta demás
Sin duda para mí el mejor es el error 418: Soy una tetera. Una broma del día de los inocentes que sin duda tuvo que ser para el recuerdo.
Status Codes
Es un estándar que utilizan los servidores para dar información del estado de las peticiones a los clientes que se conectan
.
https://www.webfx.com/web-development/glossary/http-status-codes/
router.get('/:id', (req, res) => {
const {id} = req.params;
if (id === '999') {
res.status(404).json({
message: 'Not found'
});
} else {
res.status(200).json({
id,
name: 'Producto 2',
precio: 200
});
}
});
//POST
router.post('/', (req, res) => {
const body = req.body;
res.status(201).json({
message: 'Created',
data: body
});
Excelente clase, gracias
Excelente clase
12 Clases de este curso realizadas y hasta el momento muy buenas explicaciones en cada clase y muy interesante ir conociendo los status codes
¿si te llegas a aprender toda la lista de gatos?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?