Skip to content

Elaboração de uma API Restful utilizando o framework Spring Boot.

Notifications You must be signed in to change notification settings

WebTech-PUC-Minas/lab-springboot-basic-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot - Basic API

Elaboração de uma API Restful utilizando o framework Spring Boot.

Tecnologias utilizadas

Linguagens, Frameworks e Bibliotecas utilizadas na construção do projeto.

Onde Aplicar

Este projeto pode ser aplicado em diversas situações:

  • Desenvolvimento de APIs RESTful em projetos Spring Boot.
  • Utilização de Docker para facilitar a criação de contêineres e isolamento de serviços.
  • Gerenciamento de banco de dados PostgreSQL com o uso do Flyway para migrações de banco de dados.
  • Configuração de ambientes de desenvolvimento com Java, Maven e outras tecnologias.

Sumário

Instalações

Siga com precisão as orientações de configuração do ambiente para assegurar eficácia consistente no desenvolvimento do projeto.

Pré-Requisitos

  • Java - você deve ter o Java JDK instalado em sua máquina.
  • Maven - certifique-se de ter o Maven instalado para gerenciar as dependências.
  • Docker Desktop - necessário para criar contêineres e executar serviços isolados.
  • DataGrip - ferramenta para o gerenciamento do banco de dados.
  • Git - ferramenta para o controle de versão.
  • GitHub Desktop - ferramenta de auxílio no controle de versão.

Recursos adicionais

  • Spring Initializr - ferramenta online que para gerar uma estrutura básica de projetos Spring Boot com as dependências necessárias.

Roadmap

STEP 1 - Inicialização do Projeto com Spring Initializr

  1. Acesse o Spring Initializr.

  2. Configure as Opções do Projeto

    • Project: selecione "Maven".
    • Language: escolha "Java".
    • Spring Boot: Selecione 3.2.0.
    • Project Metadata: Preencha com o Group, Artifact, Name, e Description que você deseja.
    • Packaging: Escolha "Jar".
    • Java: Selecione a versão 17.
  3. Adicione Dependências:

  • No campo de pesquisa de dependências, adicione as dependências a seguir para a criação de uma API REST Spring Boot:
    • Spring Web
    • Flyway Migration
    • PostgreSQL Driver
    • Spring Data JPA
    • Lombok
    • Validation
  1. Faça o Download do Projeto: Clique no botão "Generate" para baixar um arquivo ZIP contendo a estrutura inicial do projeto.

  2. Extraia o Arquivo ZIP em um diretório de sua escolha.

  3. Importe o Projeto na sua IDE (como o IntelliJ IDEA, VSCode, Eclipse).

  4. Verifique se as dependências foram instaladas corretamente no arquivo pom.xml.

STEP 2 - Configuração do Projeto e Migrações com Flyway

  1. Abra o Projeto na sua IDE

  2. Configuração do Banco de Dados PostgreSQL

  • Certifique-se de que o PostgreSQL esteja instalado e configurado.
  • Crie um banco de dados no PostgreSQL para ser utilizado pela sua aplicação.
  • Atualize as informações do banco de dados no arquivo application.properties dentro do diretório src/main/resources.

dbconfig.png

  1. Configuração do Flyway
  • Crie um diretório chamado db/migration dentro do diretório src/main/resources.

  • Nele adicionaremos os scripts SQL de migração, seguindo o padrão de nomenclatura do Flyway.

  • Crie o file com o nome V1__create-table-product.sql

    • O padrão sempre será: V de versão 1 [número da versão] __ underline duplo create [comando que você quer realizar] table na tabela product [nome tabela]
  • Insira o comando SQL a seguir:

migrationsql.png

  1. Execução das Migrações:
  • Inicie a aplicação Spring Boot acionando o botão "Run" da sua aplicação.

  • Durante o processo de inicialização, o Flyway irá automaticamente detectar e executar os scripts de migração localizados na pasta db/migration do diretório src/main/resources.

  • Esses scripts contêm instruções SQL para criar ou modificar a estrutura do banco de dados conforme necessário.

  • O Flyway mantém um controle interno das migrações já aplicadas, garantindo que apenas novas migrações sejam executadas e permitindo uma visão clara das versões do banco de dados ao longo do tempo.

  1. Verificação das Migrações:
  • Verifique no gerenciador do banco de dados (como DBeaver, DataGrip) se as migrações foram aplicadas corretamente.

img.png

  • Em seu gerenciador do banco de dados deve aparecer duas tabelas:
    • flyway_schema_history - tabela de controle de versionamento do banco de dados.
    • sua_tabela_aqui - tabela que você criou inicialmente no PostgreSQL e configurou o caminho na migrations.

STEP 3 - Desenvolvimento da Aplicação Spring Boot

  1. Criação do Modelo (Model): Dentro do pacote src/main/java/com/seupacote/domain/nomeEntidade crie a classe que representa o modelo da entidade desejada.

  2. Anote a classe com @Entity e especifique detalhes como @Id e @GeneratedValue para a chave primária.

  1. Criação do Repositório (Repository):
  • Em src/main/java/com/seupacote/repositories, crie uma interface que estende JpaRepository para a entidade desejada.
  1. Desenvolvimento do Controller:
  • Em src/main/java/com/seupacote/controllers, crie uma classe de controlador, a qual deve conter a notação @RestController

Contato

Kimberly Spencer - kimberlylizsl@gmail.com.

GitHub: github.com/kspencerl

License

Este projeto é licenciado sob a [Nome da Licença](URL da Licença) - veja o arquivo LICENSE.md para mais detalhes.

About

Elaboração de uma API Restful utilizando o framework Spring Boot.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%