Untitled
unknown
text
a year ago
3.1 kB
7
Indexable
Never
Classe Controller -> * É a classe que a gente faz a comunicação com quem chama nossa aplicação (ex: front) * E a classe que criamos ENDPOINTS (pontos que tem as rotas mapeadas para acesso do front) * Recebe a anotação @Controller que indica para o Spring que se trata de um controller * @ResponseBody -> Indica que seu endpoint (metodo com rota), tem um retorno para fora do Java (para o front) * @RequestMapping -> Que indica a rota para acessar a classe (localhost:8080/rotaDaClasse/rotaDoEndpoint) * @GetMapping (ou PostMapping, ou PutMapping ou DeleteMapping) -> Mapeia a rota do endpoint e define o metodo REST como GET, POST PUT ou DELETE Classe Service -> * @Service para indicar para spring que se trata de uma service * É a classe responsável por ter nossa regra de negócio * É aqui que nosso código principal fica, ela quem converte objetos, chama o banco de dados, chama o que o codigo precisar Interface Repository -> * É a interface que comunica com o banco de dados * @Repository para falar para spring que se trata de um repository * Para nao precisarmos criar o codigo que vai no banco de dados, extendemos a JpaRepository, passando a entity e o tipo de dado da primary key, assim o spring cria para gente o codigo de ir no banco de dados Entity -> * É um objeto para comunicar com o banco de dados, ele representa uma tabela do seu banco * @Entity para falar para o spring que se trata de uma entity * @Table para falar para o spring, qual tabela se refere * @Id para falar para o spring, qual campo dessa tabela, é a primary key do banco de dados * @GeneratedValuye para falar para o spring se a primary key, e auto gerado (Ex: id 1, 2, 3, 4 ,5) * @Column para falar para o spring, qual a coluna do banco de dados, a variavel representa (so usamos caso os nomes nao seja correspondentes) DTO -> * É um objeto simples * É utilizado para comunicar com o front-end e trafegado entre a classe controler e service Funcionamento do salvar-> 1 - Classe Contrler recebe a requisicao do front-ent (DTO marcado com @RequestBody) 2 - Controller chama a Service passando o DTO(@Autowired para injetar a service dentro da controller) 3 - Service recebe a requisição do controller e converte o DTO em ENTITY 4 - Service chama a repository, passando a entity (@Autowired para injetar o repository na service) 5 - Repository chama o banco de dados e salva (Spring que cria o codigo atraves das anotacoes) 6 - Service recebe o objeto salvo (entity), converte para DTO 7 - Service retorna o DTO para controller 8 - Controller retorna o DTO para o front Funcionamento do buscar-> 1 - Controller recebe a requisicao do front-end e o ID do item buscado (@RequestParam) 2 - Controller chama a Service passando o ID (@Autowired para injetar a service dentro da controller) 3 - Service recebe a requisição do controller e busca na repository o findById 4 - Service recebe o retorno da repository (entity) e converte para DTO 5 - Service retorna para Controller o DTO 6 - Controller retorna para front o DTO (@ReponseBody)