diff --git a/Aps Single Page Anwendung/Controllers/SpeisenController.cs b/Aps Single Page Anwendung/Controllers/SpeisenController.cs index 0cfe267..ceb513e 100644 --- a/Aps Single Page Anwendung/Controllers/SpeisenController.cs +++ b/Aps Single Page Anwendung/Controllers/SpeisenController.cs @@ -22,10 +22,22 @@ namespace Aps_Single_Page_Anwendung.Controllers [HttpGet] - // Muss etwas zurück geben - public IEnumerable Get() + // Muss etwas zurück geben + public IEnumerable Get() { - + return _repository.GetSpeisen(); + } + + // api/speisen/1 wird zur angegebenen id geroutet + [HttpGet("{id}")] + public IActionResult Get(int id) + { + var sepeise = _repository.GetSpeiseById(id); + if(sepeise == null) + { + return NotFound(); // StatusCode 404 + } + return Ok(sepeise); } } } diff --git a/Aps Single Page Anwendung/Repositories/FileSpeiseRepository.cs b/Aps Single Page Anwendung/Repositories/FileSpeiseRepository.cs index 5a416a4..cc3f1c0 100644 --- a/Aps Single Page Anwendung/Repositories/FileSpeiseRepository.cs +++ b/Aps Single Page Anwendung/Repositories/FileSpeiseRepository.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Hosting; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Text.Json; namespace Aps_Single_Page_Anwendung.Repositories @@ -29,7 +30,8 @@ namespace Aps_Single_Page_Anwendung.Repositories public Speise GetSpeiseById(int id) { - throw new System.NotImplementedException(); + return GetSpeisen()?.SingleOrDefault( + x => x.Id == id); } public IEnumerable GetSpeisen() diff --git a/Aps Single Page Anwendung/data/speisen.json b/Aps Single Page Anwendung/data/speisen.json index 4b90419..37fe0a1 100644 --- a/Aps Single Page Anwendung/data/speisen.json +++ b/Aps Single Page Anwendung/data/speisen.json @@ -1,159 +1,159 @@ [{ "id": 1, "name": "Gemischter Salat", - "description": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, Käse, Zwiebeln", - "price": 3.49, - "categoryId": 1 + "beschreibung": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, Käse, Zwiebeln", + "preis": 3.49, + "kategorieid": 1 }, { "id": 2, "name": "Salat Diabolo", - "description": "Gemischter Salat mit Chillis, Paprika, Radieschen und Zwiebeln (scharf!)", - "price": 3.99, - "categoryId": 1 + "beschreibung": "Gemischter Salat mit Chillis, Paprika, Radieschen und Zwiebeln (scharf!)", + "preis": 3.99, + "kategorieid": 1 }, { "id": 3, "name": "Rote Suppe", - "description": "Tomatensuppe", - "price": 3.29, - "categoryId": 2 + "beschreibung": "Tomatensuppe", + "preis": 3.29, + "kategorieid": 2 }, { "id": 4, "name": "Grüne Suppe", - "description": "Gemüsecremesuppe", - "price": 4.39, - "categoryId": 2 + "beschreibung": "Gemüsecremesuppe", + "preis": 4.39, + "kategorieid": 2 }, { "id": 5, "name": "Tortilla de patatas", - "description": "Spanisches Omlett aus Eiern und Kartoffeln", - "price": 4.99, - "categoryId": 3 + "beschreibung": "Spanisches Omlett aus Eiern und Kartoffeln", + "preis": 4.99, + "kategorieid": 3 }, { "id": 6, "name": "Patatas bravas", - "description": "Gebratene Kartoffelstücke in pikanter Sauce", - "price": 3.99, - "categoryId": 3 + "beschreibung": "Gebratene Kartoffelstücke in pikanter Sauce", + "preis": 3.99, + "kategorieid": 3 }, { "id": 7, "name": "Pimientos al grill", - "description": "Gegrillte Paprika", - "price": 2.99, - "categoryId": 3 + "beschreibung": "Gegrillte Paprika", + "preis": 2.99, + "kategorieid": 3 }, { "id": 8, "name": "Pan con alioli", - "description": "Ailoli mit Brot", - "price": 2.29, - "categoryId": 3 + "beschreibung": "Ailoli mit Brot", + "preis": 2.29, + "kategorieid": 3 }, { "id": 9, "name": "Pan con tomate y ajo", - "description": "Brot mit Tomate und Knoblauch", - "price": 2.29, - "categoryId": 3 + "beschreibung": "Brot mit Tomate und Knoblauch", + "preis": 2.29, + "kategorieid": 3 }, { "id": 10, "name": "Tortilla Chips", - "description": "Tortilla Chips mit Salsa Dip, Guacamole oder Alioli", - "price": 1.29, - "categoryId": 3 + "beschreibung": "Tortilla Chips mit Salsa Dip, Guacamole oder Alioli", + "preis": 1.29, + "kategorieid": 3 }, { "id": 11, "name": "Chilli sin carne", - "description": "Vegetarisches Chilli, serviert mit Reis", - "price": 5.39, - "categoryId": 4 + "beschreibung": "Vegetarisches Chilli, serviert mit Reis", + "preis": 5.39, + "kategorieid": 4 }, { "id": 12, "name": "Enchiladas de verduras", - "description": "Überbackene Maistortillas gefüllt mit Gemüse", - "price": 4.99, - "categoryId": 4 + "beschreibung": "Überbackene Maistortillas gefüllt mit Gemüse", + "preis": 4.99, + "kategorieid": 4 }, { "id": 13, "name": "Burritos de verduras", - "description": "Weizentortillas gefüllt mit Gemüse", - "price": 4.99, - "categoryId": 4 + "beschreibung": "Weizentortillas gefüllt mit Gemüse", + "preis": 4.99, + "kategorieid": 4 }, { "id": 14, "name": "Arroz con verduras", - "description": "Reis-/Gemüsepfanne", - "price": 4.49, - "categoryId": 4 + "beschreibung": "Reis-/Gemüsepfanne", + "preis": 4.49, + "kategorieid": 4 }, { "id": 15, "name": "Empanadas de espinacas y maíz", - "description": "Teigtaschen gefüllt mit Spinat und Mais", - "price": 4.49, - "categoryId": 4 + "beschreibung": "Teigtaschen gefüllt mit Spinat und Mais", + "preis": 4.49, + "kategorieid": 4 }, { "id": 16, "name": "Crema Catalana", - "description": "Katalanische Creme", - "price": 2.49, - "categoryId": 5 + "beschreibung": "Katalanische Creme", + "preis": 2.49, + "kategorieid": 5 }, { "id": 17, "name": "Ensalada de frutas", - "description": "Obstsalat mit frischen Früchten", - "price": 2.99, - "categoryId": 5 + "beschreibung": "Obstsalat mit frischen Früchten", + "preis": 2.99, + "kategorieid": 5 }, { "id": 18, "name": "Churros", - "description": "Spritzgebäck mit Zucker", - "price": 1.99, - "categoryId": 5 + "beschreibung": "Spritzgebäck mit Zucker", + "preis": 1.99, + "kategorieid": 5 }, { "id": 19, "name": "Agua mineral", - "description": "Mineralwasser", - "price": 1.59, - "categoryId": 6 + "beschreibung": "Mineralwasser", + "preis": 1.59, + "kategorieid": 6 }, { "id": 20, "name": "Zumo de manzana", - "description": "Apfelsaft", - "price": 1.59, - "categoryId": 6 + "beschreibung": "Apfelsaft", + "preis": 1.59, + "kategorieid": 6 }, { "id": 21, "name": "Limonada", - "description": "Zitronenlimonade", - "price": 1.59, - "categoryId": 6 + "beschreibung": "Zitronenlimonade", + "preis": 1.59, + "kategorieid": 6 }, { "id": 22, "name": "Café", - "description": "Kaffee", - "price": 1.59, - "categoryId": 6 + "beschreibung": "Kaffee", + "preis": 1.59, + "kategorieid": 6 } ] \ No newline at end of file