Ho più Modelli (Modelli in MVC), Questi modelli sono iniettati in repository e i repository sono iniettati in Controllers. Devo creare un'API per diversi endpoint. Le risposte per questi endpoint utilizzeranno i servizi di repository. La risposta sarà simile a questa;
{
"user": {
"userId": 1,
"id": 1,
"name": "John",
"surname": "Doe"
},
"posts": [{
"id": "1",
"title": "Lorem",
"body": "test-2"
},
],
"products": [{
"id": "1",
"name": "productA"
},
{
"id": "2",
"name": "productB"
}
],
"services":[{
"id": "1",
"name": "a"
},
{
"id": "2",
"name": "b"
}
],
"settings":[{
"id": "1",
"name": "settingA",
"value" "valueA"
},
{
"id": "2",
"name": "settingsB",
"value" "valueB"
}
],
}
Alcune di queste chiavi (modelli + risposte di servizio) non hanno una relazione diretta l'una con l'altra. Quando ottengo i modelli da DB, voglio rimuovere le colonne non necessarie (non posso nascondermi durante l'interrogazione perché ho bisogno di loro mentre genera una risposta) Voglio modificare alcuni valori di colonna, voglio inviare alcuni valori di colonna ad alcuni servizi e ottenere risposta da questi servizi e utilizzare questa risposta per la risposta api.
La domanda è questa; Dove dovrei fare tutto questo (chiamare tutti questi servizi, repository, fare mappature, alcuni calcoli e generare risposte api.)
Se lo faccio nel controller avrò un controller grasso Se lo faccio nel repository, non sarà più un repository
Devo creare un altro servizio per iniettare tutti i servizi richiesti, generare una risposta e iniettare questo nuovo servizio nel controller?