Junior — Middle
Pouvez-vous expliquer le rôle du contrôleur dans la structure de l'architecture propre?
sobes.tech IA
Réponse de l'IA
Dans l'architecture propre, le contrôleur joue le rôle d'intermédiaire entre le monde extérieur (par exemple, les requêtes HTTP) et les couches internes de l'application.
Fonctions principales du contrôleur :
- Reçoit les requêtes entrantes.
- Extrait les données nécessaires de la requête.
- Appelle les cas d'utilisation ou les interacteurs appropriés.
- Forme la réponse pour le client.
Le contrôleur ne contient pas de logique métier, il dirige simplement les données et les commandes vers les parties appropriées du système.
Exemple en Go (simplifié) :
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, "Utilisateur non trouvé", http.StatusNotFound)
return
}
json.NewEncoder(w).Encode(user)
}
Ici, le contrôleur reçoit la requête, appelle la logique métier et renvoie le résultat au client.