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

Spring Boot 3 MVC + REST

Olá, caros poderiam me auxiliar com as seguintes dúvidas:

Estou construindo um Projeto com Backend em Spring Boot 3 e Frontend em Vue JS.

No Backend construi as camadas: Model, Repository e Controller. No Controller estao os endpoints-REST. Utilizei Spring Security + JWT para fazer o Stateless.

Na documentacao eu descrevi que a na Arquitetura MVC - Model und Controller estao no Backend e View no Frontend. Isso é correto?

Quando eu leio como funciona a Arquitetura MVC, eu vejo que o Controller se comunica com o Model, porem na minha aplicacao/no codigo eu nao vejo isso acontecendo. No meu código as Interfaces-Repositories passem os Models para a Interface JpaRepository e ela trabalha com eles.

Minhas perguntas: eu implementei errado ? ou os controllers de alguma forma se comunicam com os models ? voces acham que posso continuar afirmando na minha documentacao que eu utilizei a arquitetura MVC ?

Obrigada pela atencao.

3 respostas
solução!

Olá Elaine, tudo bem?

Pelo que entendi, você está com dúvidas sobre a implementação da arquitetura MVC em seu projeto com Spring Boot 3 e Vue JS. Vamos lá!

Primeiramente, é importante lembrar que a arquitetura MVC é uma forma de organizar o código de uma aplicação, separando as responsabilidades em três camadas: Model, View e Controller. O Model representa os dados da aplicação, o Controller é responsável por receber as requisições do usuário e manipular os dados do Model, e a View é a camada de apresentação, responsável por exibir os dados ao usuário.

No seu caso, você está correto em afirmar que o Model e o Controller estão no Backend e a View está no Frontend. Isso é comum em aplicações que utilizam uma API REST para se comunicar entre o Frontend e o Backend.

Sobre a comunicação entre o Controller e o Model, é importante lembrar que o Controller deve se comunicar com o Model para manipular os dados da aplicação. No entanto, é comum utilizar uma camada de Repository para abstrair a comunicação com o banco de dados, como você fez em seu projeto. Dessa forma, o Controller não precisa se preocupar com a implementação específica de acesso ao banco de dados, apenas com a manipulação dos dados.

Por fim, é importante lembrar que a arquitetura MVC é uma forma de organizar o código, mas não existe uma implementação única e correta. Cada projeto pode ter suas particularidades e adaptações. Portanto, se você está seguindo as boas práticas de programação e organizando seu código de forma clara e coesa, você pode continuar afirmando que está utilizando a arquitetura MVC em seu projeto.

Espero ter ajudado e bons estudos!

Mais uma observação:

  • View: Códigos que representam a interface com os usuários
  • Controller: Códigos que recebem as requisições dos usuários para utilizar a aplicação
  • Model: Todo o resto! (ou seja: entidades, repositories, services, etc.)

Rodrigo, muito obrigada pelas respostas e pelo o seu tempo.

Muito Obrigada mesmo.