1. Request-Bestandteile erkennen
Richtzeit: 12–15 MinutenAnalysiere folgende Anfrage:
GET /produkte?category=hardware&active=true&limit=10 HTTP/1.1 Host: api.beispielshop.local Accept: application/json
- Markiere HTTP-Methode, Pfad, Query-Parameter, Host und gewünschten Antworttyp.
- Erkläre, was die Query-Parameter vermutlich bewirken.
- Formuliere eine ähnliche Anfrage, die nur aktive Zubehör-Produkte abruft.
Hinweis: Query-Parameter filtern oder steuern eine Sammlung. Eine einzelne Ressource wird meist über die ID im Pfad angesprochen.
2. API-Antwort interpretieren
Richtzeit: 12–15 MinutenEin Client erhält folgende Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
{
"items": [
{ "id": 7, "name": "Webcam HD", "price": 49.9, "active": true },
{ "id": 9, "name": "Monitorarm", "price": 39.99, "active": true }
],
"count": 2,
"limit": 10
}- Beschreibe, ob die Anfrage erfolgreich war und woran du das erkennst.
- Erkläre die Bedeutung von
items,countundlimit. - Begründe, warum Metadaten wie
countfür Clients hilfreich sind.
3. Fehlerfälle unterscheiden
Richtzeit: 18–20 MinutenOrdne die folgenden Situationen passenden Statuscodes zu und begründe kurz. Nutze bei Bedarf: 200, 201, 204, 400, 404.
| Situation | Statuscode | Begründung |
|---|---|---|
/produkte/999 existiert nicht. | ||
Beim Anlegen fehlt name. | ||
| Neues Produkt wurde erstellt. | ||
| Produkt wurde gelöscht, kein Antwortinhalt. | ||
| Client sendet ungültiges JSON. |
4. Fehlerantwort verbessern
Richtzeit: 12–15 MinutenDie API liefert aktuell:
{ "error": "Bad Request" }- Entwirf eine bessere Fehlerantwort für ein fehlendes Feld
price. - Die Antwort soll maschinenlesbar und menschenverständlich sein.
- Ergänze mindestens ein Feld, das einem Frontend bei der Anzeige helfen würde.
Hinweis: Gute Fehlerantworten sagen nicht nur, dass etwas falsch ist, sondern auch wo und warum.
5. Mini-Debugging
Richtzeit: 10–12 MinutenEin Produkt soll geändert werden. Der Client sendet:
POST /produkte/7
Content-Type: application/json
{ "price": "44,99" }- Nenne mindestens drei mögliche Probleme an dieser Anfrage.
- Formuliere eine verbesserte Anfrage.
- Entscheide, ob hier eher
PUToderPATCHsinnvoll ist.