Skip to content

mmacedoaraujo/springboot2-essentials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tecnologias usadas no projeto

Spring Boot Animes API

Api construída ao longo do curso Spring Boot 2 Essentials da DevDojo, com finalidade de explorar os principais tópicos envolvendo desenvolvimento de APIs com Spring, como:

  • Criação de endpoints
  • Spring Data JPA
  • Spring Security
  • Tratamento de exceções
  • Testes unitários
  • Testes de integração

Objetivo

Com o objetivo de aprendizado esse projeto se trata de uma API Rest com todas as funcionalidades de um CRUD implementadas. Gerenciamos uma entidade Anime que possui apenas id e nome para fins ilustrativos e à partir disso foram criados os seguintes endpoints:

Nos métodos delete e by-id, adicionei features do Spring Security, sendo a requisição delete apenas efetuada por usuários do tipo ADMIN e o by-id foi usado autenticação no banco de dados.

Como rodar a aplicação🛠️

Instalação

Clone o projeto com:

 git clone https://github.com/mmacedoaraujo/springboot2-essentials.git

Em seguida abra-o como projeto Maven em uma IDE

Banco de dados

Caso possua o docker instalado no seu sistema operacional, bastar abrir um terminal na pasta raiz do projeto e digitar:

 docker compose up

Um container docker com uma imagem MySQL será criado, optei por configurar a porta 3307 para não haver interferência com qualquer outra instância do MySQL que possa estar rodando. Caso deseje alterar as configurações do banco de dados, basta acessar o arquivo application.yml em:

 src/main/resources/application.yml

E o arquivo docker-compose.yml na pasta raiz

Executando a aplicação

Basta executar a classe:

src/main/java/com/mmacedo/springboot2essentials/Springboot2EssentialsApplication.java

Em seguida, abra no navegador o endereço http://localhost:8080/swagger-ui.html, onde será pedido um usuário e senha, insira:

usuário: marcosadmin
senha: password

Pronto, agora você tem acesso à interface do Swagger para testar os métodos de requisição da API!

Dependências utilizadas no projeto

  • Spring Boot Starter Validation
  • SpringDoc OpenAPI UI
  • Spring Boot Starter Security
  • Spring Boot Starter Data JPA
  • MySQL Connector Java
  • Spring Boot Starter Web
  • Spring Boot Starter DevTools
  • Lombok
  • Mapstruct
  • Spring Boot Starter Test
  • H2

About

Online course made by DevDojo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages