Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m290_guko:learningunits:lu17:theorie:a_intro [2026/01/02 23:17] – gkoch | modul:m290_guko:learningunits:lu17:theorie:a_intro [2026/01/12 07:43] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 216: | Zeile 216: | ||
| </ | </ | ||
| - | **Test in Postman** | + | === Test in Postman |
| * Methode: '' | * Methode: '' | ||
| * URL: '' | * URL: '' | ||
| Zeile 319: | Zeile 319: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | === Test in Postman === | ||
| **Test-Body (Postman → Body → raw → JSON)** | **Test-Body (Postman → Body → raw → JSON)** | ||
| Zeile 335: | Zeile 337: | ||
| ==== UPDATE: Post ändern (PUT / | ==== UPDATE: Post ändern (PUT / | ||
| - | In LU16b haben Sie einen Post so aktualisiert: | + | In LU16b haben Sie einen Post so aktualisiert: |
| Genau diese Logik übernehmen wir jetzt – der Unterschied ist nur: statt im Array ändern wir jetzt die MySQL-Tabelle '' | Genau diese Logik übernehmen wir jetzt – der Unterschied ist nur: statt im Array ändern wir jetzt die MySQL-Tabelle '' | ||
| Zeile 401: | Zeile 403: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | === Test in Postman === | ||
| **Test-Body** | **Test-Body** | ||
| Zeile 416: | Zeile 420: | ||
| Erwartung: | Erwartung: | ||
| + | * Status '' | ||
| + | * JSON-Objekt des aktualisierten Posts (inkl. neuem '' | ||
| - | Status '' | ||
| - | |||
| - | JSON-Objekt des aktualisierten Posts (inkl. neuem '' | ||
| - | |||
| - | DELETE-Section ersetzen durch diese Version | ||
| ==== DELETE: Post löschen (DELETE / | ==== DELETE: Post löschen (DELETE / | ||
| - | |||
| - | In LU16b haben Sie beim Löschen den gelöschten Post zurückgegeben (zur Kontrolle). | ||
| - | Das machen wir hier genauso – nur mit MySQL: | ||
| - | |||
| - | zuerst den Post mit '' | ||
| - | |||
| - | dann mit '' | ||
| - | |||
| - | dann den vorher geholten Post zurückgeben. | ||
| - | |||
| <WRAP box round center 80%> | <WRAP box round center 80%> | ||
| <code javascript> | <code javascript> | ||
| - | // DELETE – Post löschen | + | // DELETE – Post löschen |
| - | // Route: DELETE http:// | + | |
| app.delete('/ | app.delete('/ | ||
| - | const id = Number(req.params.id); | + | |
| - | if (Number.isNaN(id)) { | + | |
| - | return res.status(400).send(' | + | return res.status(400).send(' |
| - | } | + | } |
| - | // 1) Post zuerst holen (damit wir ihn nach dem Löschen zurückgeben können) | + | |
| - | const selectSql | + | |
| - | db.query(selectSql, [id], (err, rows) => { | + | |
| + | if (err) { | ||
| + | console.error(' | ||
| + | return res.status(500).send(' | ||
| + | } | ||
| - | if (err) { | + | |
| - | | + | return res.status(404).send(' |
| - | | + | } |
| - | } | + | |
| - | if (rows.length === 0) { | + | // Antwort: 200 + Message |
| - | | + | res.status(200).json({ message: `Post mit id=${id} wurde gelöscht.` }); |
| - | } | + | |
| - | const deletedPost = rows[0]; | + | |
| - | + | ||
| - | // 2) Jetzt löschen | + | |
| - | const deleteSql = ' | + | |
| - | + | ||
| - | db.query(deleteSql, | + | |
| - | + | ||
| - | if (err2) { | + | |
| - | console.error(' | + | |
| - | return res.status(500).send(' | + | |
| - | } | + | |
| - | + | ||
| - | // 3) Lernfreundlich: | + | |
| - | res.status(200).json(deletedPost); | + | |
| - | + | ||
| - | }); | + | |
| - | + | ||
| - | + | ||
| - | }); | + | |
| }); | }); | ||
| </ | </ | ||
| </ | </ | ||
| - | Test mit Postman | + | === Test mit Postman |
| - | Methode: '' | + | * Methode: '' |
| - | + | | |
| - | URL: '' | + | |
| - | '' | + | |
| Erwartung: | Erwartung: | ||
| - | + | * Status '' | |
| - | Status '' | + | |
| - | + | | |
| - | JSON-Objekt des gelöschten Posts | + | |
| - | + | ||
| - | Danach '' | + | |