2017-07-04 1 views
0

Je sais qu'il y a beaucoup d'opinions à ce sujet, mais ce n'est toujours pas clair pour moi. Demandons-le avec un exemple, en supposant que j'ai une entité Customer et une CustomerDTO.Spring MVC - Architecture - Mes services doivent-ils renvoyer les DTO?

1) Mon service save et get doit-il accepter un DTO et renvoyer un DTO? Comme:

CustomerDTO saveNew(CustomerDTO dto); 

CustomerDTO get(Long id); 

2) Si mon service toujours gérer Customer objets et mon Controller faire la conversion, comme:

Customer saveNew(Customer c); 

Customer get(Long id); 

Je pense que le 2ème est plus souple, et si, dans un autre service que j'ai besoin pour appeler le client obtenir (pour le mettre dans un User, par exemple) j'ai le Customer lui-même et je n'ai pas besoin de le convertir. Mais semble que la première approche est plus découplée?

Répondre

-2

Non, il ne peut pas fonctionner. Si vous voulez ces œuvres, vous devez les définir. Vous pouvez utiliser les méthodes par défaut du référentiel comme suit: Pour enregistrer repo.save (client); Pour obtenir repo.getOne (id);

Vous pouvez utiliser l'annotation @Query pour définir une requête de personnalisation.

+1

Votre réponse n'a aucun sens. S'il vous plaît améliorer. –