Junior — Middle
Können Sie die Rolle des Controllers in der Struktur der Clean Architecture erklären?
sobes.tech KI
Antwort von AI
In der sauberen Architektur fungiert der Controller als Vermittler zwischen der Außenwelt (z.B. HTTP-Anfragen) und den inneren Schichten der Anwendung.
Hauptfunktionen des Controllers:
- Nimmt eingehende Anfragen entgegen.
- Extrahiert die notwendigen Daten aus der Anfrage.
- Ruft die entsprechenden Anwendungsfälle oder Interaktoren auf.
- Formt die Antwort für den Client.
Der Controller enthält keine Geschäftslogik, er leitet lediglich Daten und Befehle an die entsprechenden Teile des Systems weiter.
Beispiel in Go (vereinfachte Version):
func UserController(w http.ResponseWriter, r *http.Request) {
userID := r.URL.Query().Get("id")
user, err := userUseCase.GetUserByID(userID)
if err != nil {
http.Error(w, "Benutzer nicht gefunden", http.StatusNotFound)
return
}
json.NewEncoder(w).Encode(user)
}
Hier erhält der Controller die Anfrage, ruft die Geschäftslogik auf und gibt das Ergebnis an den Client zurück.