apuntes:backend_frontend
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| apuntes:backend_frontend [2026/10/06 16:39] – [Desarrollo de aplicaciones: backend + frontend] Santiago Faci | apuntes:backend_frontend [2026/10/28 22:52] (current) – [Backend: API] Santiago Faci | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| < | < | ||
| - | {{ frontendbackend.jpg? | + | {{ frontendbackend.jpg? |
| < | < | ||
| </ | </ | ||
| Line 116: | Line 116: | ||
| app.get('/ | app.get('/ | ||
| - | res.json(cities); | + | |
| }); | }); | ||
| app.get('/ | app.get('/ | ||
| const city = req.params.city; | const city = req.params.city; | ||
| - | res.json(cities[city]); | + | |
| }); | }); | ||
| Line 292: | Line 292: | ||
| app.get('/ | app.get('/ | ||
| - | res.status(200).json(cities); | + | |
| }); | }); | ||
| app.get('/ | app.get('/ | ||
| const city = req.params.city; | const city = req.params.city; | ||
| - | res.status(200).json(cities[city]); | + | |
| }); | }); | ||
| Line 310: | Line 310: | ||
| }; | }; | ||
| - | res.status(201).json(cities[name]); | + | |
| }); | }); | ||
| Line 323: | Line 323: | ||
| delete cities[name]; | delete cities[name]; | ||
| - | res.status(204).end(); | + | |
| }); | }); | ||
| Line 336: | Line 336: | ||
| }; | }; | ||
| - | res.status(200).json(cities[name]); | + | |
| }); | }); | ||
| Line 356: | Line 356: | ||
| . . . | . . . | ||
| if (cities[name] === undefined) { | if (cities[name] === undefined) { | ||
| - | res.status(404).json({ | + | |
| error: 'No se ha podido encontrar la ciudad' | error: 'No se ha podido encontrar la ciudad' | ||
| }); | }); | ||
| Line 373: | Line 373: | ||
| const population = req.body.population; | const population = req.body.population; | ||
| if (typeof population !== ' | if (typeof population !== ' | ||
| - | res.status(400).json({ | + | |
| error: ' | error: ' | ||
| }); | }); | ||
| Line 419: | Line 419: | ||
| app.get('/ | app.get('/ | ||
| - | res.json(cities); | + | |
| }); | }); | ||
| app.get('/ | app.get('/ | ||
| const city = req.params.city; | const city = req.params.city; | ||
| - | res.json(cities[city]); | + | |
| }); | }); | ||
| Line 437: | Line 437: | ||
| }; | }; | ||
| - | res.status(201).end(); | + | |
| }); | }); | ||
| Line 620: | Line 620: | ||
| const data = await findAllCities(); | const data = await findAllCities(); | ||
| - | res.status(200).json(data); | + | |
| }); | }); | ||
| Line 627: | Line 627: | ||
| const data = await findCity(req.params.city); | const data = await findCity(req.params.city); | ||
| - | res.status(200).json(data); | + | |
| }); | }); | ||
| Line 634: | Line 634: | ||
| await registerCity(req.body.name, | await registerCity(req.body.name, | ||
| - | res.status(201).json({}); | + | |
| }); | }); | ||
| Line 641: | Line 641: | ||
| await modifyCity(req.params.city, | await modifyCity(req.params.city, | ||
| - | res.status(204).json({}); | + | |
| }); | }); | ||
| Line 648: | Line 648: | ||
| await removeCity(req.params.city); | await removeCity(req.params.city); | ||
| - | res.status(204).json({}) | + | |
| }); | }); | ||
| Line 1005: | Line 1005: | ||
| - El campo sala solamente podrá ser un valor entre 1 y 9 (que son las salas que tiene el cine) | - El campo sala solamente podrá ser un valor entre 1 y 9 (que son las salas que tiene el cine) | ||
| - Prepara una colección Postman que permita probar todas las operaciones desarrolladas en tu API de peliculas. No olvides preparar requests para todos los casos posibles | - Prepara una colección Postman que permita probar todas las operaciones desarrolladas en tu API de peliculas. No olvides preparar requests para todos los casos posibles | ||
| + | - ¿Qué ocurre cuando, al registrar una película, se envian campos que no existen? ¿Se debería fallar? ¿Qué debería ocurrir con esa información de más que se envía? | ||
| + | - ¿Te has fijado en el patrón que sigue los códigos de error que has implementado en las operaciones del backend desarrollado? | ||
| + | - Imagina que algo falla, de forma inesperada, cuando se está ejecutando el código del backend. ¿Qué error se debería devolver? (Pista: https:// | ||
| + | - ¿Qué debería hacer el backend si alguien está invocando las operaciones de forma abusiva? (Pista: https:// | ||
| + | - Añade lo necesario para que también se puedan realizar operaciones similares pero con actores (de los que se almacene nombre, apellidos, pais de origen y si alguna vez ganaron un Oscar) | ||
| + | - ¿Cómo podríamos hacer que peliculas y actores estuvieran relacionadas? | ||
| ====== Proyectos de ejemplo ====== | ====== Proyectos de ejemplo ====== | ||
apuntes/backend_frontend.1791304797.txt.gz · Last modified: by Santiago Faci
