package main import ( "encoding/json" "net/http" "time" ) // ist ein Struct sowas wie eine Klasse in Java ? type Klient struct { Name string `json:"name"` Vorname string `json:"vorname"` Gebdatum time.Time `json:"gebdatum"` Geschlecht string `json:"gender"` Gewicht int `json:"gewicht"` Groesse int `json:"groesse"` } func anameseHandler(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost { http.Error(w, "Methode ungültig", http.StatusMethodNotAllowed) return } // ist ka dann eine Art Objekt von der Klasse KLient? var k Klient err := json.NewDecoder(r.Body).Decode(&k) if err != nil { http.Error(w, "Kein gültiges Json", http.StatusBadRequest) return } if k.Name == "" || k.Vorname == "" || k.Geschlecht == "" { http.Error(w, "Pflichtfelder sind leer", http.StatusBadRequest) return } if k.Gebdatum.IsZero() { http.Error(w, "Geburtsdatum fehlt", http.StatusBadRequest) return } if k.Gewicht == 0 || k.Groesse == 0 { warnings = append(warnings, "BMI kann nicht berechnet werden") } // Erfolg und Warnung zurückgeben wnn genu wird die response varibale genutzt? response := map[string]interface{}{ "message:": "Klient erfolgreich angelegt", "warnings": warnings, } //ok response habe ich hier gefunden, aber den Rest dieses Codes verstehe ich gerade nich w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusCreated) json.NewEncoder(w).Encode(response) } func main() { }