title: Work with dto's to build an API with DDD
body: <p>I'm starting to work with dto's (data transfer objects) and I have some doubts about the best way to build the system architecture of the API.</p>
  
  <p>Imagine a domain entity 'A', with relations to 'B', 'C' and 'D'. We have a service 'S' that return a json list with all "A's". It's correct to create an 'ADTO' in that service, fill with "BDTO's", "CDTO's" and "DDTO's"? If then we have another service "S2", and we need to return an specific set of "B's", then we need to create another tree of "B2DTO's" with "C2DTOS's", "D2DTO's"... ? Is this the correct way to do it? </p>
  
  <p>I see that this way, we'll have a huge and complex tree of DTO's, with an specific DTO's for each use case.</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>I forgot the assemblers part. Is necessary to implement a different assembler for every DTO? for example, for an entity A, we have two DTO's. Can I use the same assembler or is better to have A1Assembler and A2Assembler?</p>