Primer Servidor Express
Vamos a crear nuestro primer servidor HTTP con Express y TypeScript.
Instalando Express
bash
npm install expressnpm install -D @types/expressServidor Básico
typescript
// src/server.tsimport express from 'express'; const app = express();const PORT = process.env.PORT || 3000; // Middleware JSONapp.use(express.json()); // Primera rutaapp.get('/', (req, res) => { res.json({ message: '¡Bienvenido a la API de E-commerce!' });}); app.listen(PORT, () => { console.log(`🚀 Servidor ejecutándose en http://localhost:${PORT}`);});Ejecutando el Servidor
bash
npm run devAccede a http://localhost:3000 en el navegador.
Métodos HTTP
typescript
// GET - Buscar datosapp.get('/products', (req, res) => { res.json([{ id: 1, name: 'iPhone' }]);}); // POST - Crear datosapp.post('/products', (req, res) => { const { name, price } = req.body; res.status(201).json({ id: 2, name, price });}); // PUT - Actualizar completamenteapp.put('/products/:id', (req, res) => { const { id } = req.params; res.json({ id, ...req.body });}); // DELETE - Eliminarapp.delete('/products/:id', (req, res) => { res.status(204).send();});Request y Response
typescript
app.get('/products/:id', (req, res) => { // Parámetros de URL const { id } = req.params; // Query string (?page=1&limit=10) const { page, limit } = req.query; // Cuerpo del request (POST, PUT) const body = req.body; // Headers del request const auth = req.headers.authorization; // Respuesta JSON res.status(200).json({ success: true, data: { id, page, limit } });});Códigos de Estado HTTP
| Código | Significado |
|---|---|
| 200 | Éxito |
| 201 | Creado |
| 204 | Sin contenido |
| 400 | Request inválido |
| 401 | No autorizado |
| 404 | No encontrado |
| 500 | Error del servidor |
Resumen
- ✅ Servidor Express ejecutándose
- ✅ Métodos HTTP (GET, POST, PUT, DELETE)
- ✅ Parámetros, query string y body
- ✅ Respuestas estandarizadas
Próxima clase: Rutas y Middlewares! 🚀