Galera, estou estudando sobre rest especificamente springMVC. tenho visto muitos exemplos e nao entendi ainda porque essa separação de controller,service e dao. eu so consigo entender a necessidade de service,dao e model. onde o service captura a requisição e o dao processa.
alguém pode clarear uma estrutura ideal?
Esse negócio de estrutura ideal não existe.
Use o que funcionar melhor para você, tente experimentar diversas abordagens e vê o que cada uma traz de positivo e negativo, e tire suas conclusões.
Pessoalmente, em caso de Web Services Rest, no lugar do Controller eu costumo usar a figura do Resource.
Na prática as duas fazem o mesmo papel, um mapeamento de input para domínio (http request->service) e de domíno para output (service->http response).
Na teoria os dois conceitos são diferentes, mas funciona bem para mim.
Se você quer ter apenas um Service lidando com http (retornar código de erro válidos) e lógica de negócio, vai fundo.
Talvez chegue um ponto que acha que tem muita coisa sendo feita no mesmo lugar.
Talvez nunca sinta isso e terá menos código pra manter!
valeu Abel, obrigado pela resposta, clareou bastante minha forma de avaliar as coisas. abraço!