// Package apiserver implementiert Core API-01: das REST-Grundgerüst mit // URL-Versionierung, einheitlichem Fehlerformat und Middleware-Kette // (Auth, Tenant-/Benutzerkontext, Logging). package apiserver import ( "encoding/json" "net/http" ) // errorBody ist das EINE Fehlerschema fuer alle Endpunkte unter /api/{version}/ // (Akzeptanzkriterium 2). type errorBody struct { Error struct { Code string `json:"code"` Message string `json:"message"` } `json:"error"` } // WriteError schreibt einen Fehler im einheitlichen Schema. code ist ein // stabiler, maschinenlesbarer Bezeichner (z.B. "unauthenticated"), message // ein fuer Menschen lesbarer deutscher Text. func WriteError(w http.ResponseWriter, status int, code, message string) { var body errorBody body.Error.Code = code body.Error.Message = message w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) _ = json.NewEncoder(w).Encode(body) }