Ho un'entità Product
con un oggetto valore Category
(esempio forzato).
C'è un endpoint dell'API /products?category=Keyboards,Mice
Le classi in gioco qui sono:
-
ListProductsController
(livello interfacce) -
ProductsRetriever
(livello applicazione) -
ProductRepository
(livello dominio / infrastruttura) -
Product
(entità / radice aggregata) -
Category
(oggetto valore)
All'interno del modello di dominio, le categorie sono modellate come un elenco di oggetti.
Tuttavia, sono un po 'confuso riguardo al repository. Dovrebbe avere un metodo:
public List<Product> findByCategoriesIn(List<Category> categories)
o
public List<Product> findByCategoriesIn(List<String> categories)
Se dovrebbe essere interrogato usando un ValueObject (cioè Category
) chi dovrebbe convertire l'elenco di stringhe dalla richiesta API nella lista delle categorie?
Dovrebbe accadere all'interno del controller o il servizio applicativo dovrebbe occuparsi della trasformazione?