Ho alcuni livelli nella mia WebApplication: Presentation, Service, DAO, Domain.
I servizi chiamano oggetti DAO che leggono i dati da un database / file qualunque.
Ho un Controller
che deve recuperare i dati da% diverso% co_de e impostarli come parte di Services
.
Dovrei inserire la logica per chiamare diversi Servizi nel metodo Controller o dovrei creare una sorta di Response
che a sua volta chiamerà Servizi diversi? In tal caso, in quale livello dovrebbe risiedere la facciata?
@Path("/")
public class MyController {
@Autowired
private FirstService firstService;
@Autowired
private SecondService secondService;
@GET
public Response getData(@QueryParam("query") final String query) {
final MyResponse response = new MyResponse();
// Service 1
final String firstData = firstService.getData(query);
response.setFirstData(query);
if (someCondition) {
// Service 2
final String secondData = secondService.getData(query);
response.setSecondData(query);
}
// more Service calls maybe
return Response.status(Response.Status.OK).entity(response).build();
}
}