Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida sobre MVC

Olá,

Tenho uma duvida em relação com MVC em especifico com a parte de controller.

O que acontece é o seguinte, vamos supor que eu tenho dois controller um para para o usuario (usuarioController) e outro para login(loginController);

O que acontece que para eu criar o usuario eu necessito de um login. Na verdade o qu eeu quero saber se é uma boa pratica chamar um controller dentro de outro como no exemplo abaixo que eu fiz;

Vide exemplo abaixo

@Autowired
private LoginController login;
@Autowired
private UsuarioDAO dao;

@RequestMapping("/cadastrousuario")
public ModelAndView() adicionar(Usuario usuario){

    Login login =login.cadastrarLogin(usuario.getLogin.getUsername, usuario.getLogin.getPassword);

    usuario.setLogin(login);
    dao.salvarUsuario(usuario);
}
2 respostas
solução!

Bom dia Luís, beleza?

Não tem nenhuma regra definitiva, mas tem uma parte dos programadores (eu, inclusive) vemos o controller como um gerenciador de requisições, ou seja, ele recebe uma requisição, direciona essa requisição para a lógica correspondente, recebe um retorno dela e devolve uma resposta para o usuário.

Seguindo essa ideia, normalmente se evita ao máximo colocar regra de negócio dentro do controller.

Normalmente se cria uma classe service (por exemplo LoginService) e dentro dela criamos nossas regras de negócio (por exemplo o método logar).

Então se dois controller precisam usar o mesmo serviço, nós o injetamos em ambos os controllers.

Lembrando que isso não é uma regra, é só uma das inúmeras maneiras que se tem por ai.

Bons estudos

Olá Mário,

Entendi, o que você faz total sentindo! Obrigado pelas dicas!