# Lektion 13 — Express og routes

Efter efterårsferien åbner I den samme `server.js` som i lektion 11. Forberedelsen
er routes og et lille Express-program. I timen omskriver I til Express, beholder
listen i hukommelsen og tester `POST` fra en `.http`-fil i VS Code.

## Forberedelse

Det forventes, at du har forberedt dig — Express, routes og `my-app` (ca. 45 min).

[Forberedelse til Lektion 13](forberedelse.md)

## Program (4 timer)

| Tid | Blok | Indhold |
|---|---|---|
| 20 min | Opsamling | Framework, route, `my-app` |
| 10 min | Quiz | Forberedelsen |
| 15 min | Gennemgang | npm og omskriv `server.js` |
| 35 min | [Øvelse 1](oevelser.md) | **Fra `http.createServer` til Express** — samme `GET`, samme 404 |
| 5 min | Gennemgang | Én patient via `:cpr` |
| 10 min | Quiz | Routes, `:cpr` og 404 |
| 15 min | [Øvelse 2](oevelser.md) | **Én patient via `:cpr`** |
| 20 min | Gennemgang | `.http`-fil og `POST` |
| 10 min | Quiz | Body og status |
| 30 min | [Øvelse 3](oevelser.md) | **POST fra `api.http`** — listen vokser i RAM |
| 25 min | [Øvelse 4](oevelser.md) | **Tabellen mod jeres server** — gruppens mockup og `localhost` |

Der er afsat 45 minutter til pauser, som lægges ind undervejs.

## Slides

[Forelæsningsslides](forelaesning.md?show=slide)

## Øvelser

Øvelserne står samlet her, med mere uddybning end på slidesne:

[Øvelser til Lektion 13](oevelser.md)

## Efter lektionen kan du

- forklare at en route er metode, sti og handler — samme routing som L11-`if`'et
- installere Express med npm og køre `server.js` med samme CORS som før
- svare `GET /api/patients` og `GET /api/patients/:cpr`, og 404 når stien eller CPR'en ikke findes
- tilføje `POST /api/patients` med `express.json()` og passende statuskoder
- teste API'et fra en `.http`-fil i VS Code og se nye patienter i tabellen efter genhentning
- sige, at listen stadig bor i processen — PostgreSQL er lektion 15
