Projeto em Spring Boot para o desenvolvimento de uma API Rest com funcionalidades de CRUD, validações, paginação e ordenação. São utilizadas tecnologias como Java 17, Lombok, MySQL/Flyway, JPA/Hibernate, Maven e Insomnia. A estrutura do projeto é criada a partir do Spring Initializr e a IDE utilizada é o IntelliJ. O projeto tem como objetivo a implementação de funcionalidades de cadastro, listagem, atualização e exclusão de médicos e pacientes, além de agendamento e cancelamento de consultas.
✾ Desenvolvimento de uma API Rest
✾ CRUD
✾ Validações
✾ Paginação e Ordenacação
✾ Spring Boot 3
✾ Java 17 - LTS
✾ Lombok
✾ MySQL/Flyway
✾ JPA/Hibernate
✾ Maven
✾ Insomnia
Maven Project
Java
3.0.5
✾ Group: med.voll
✾ Artifact: api
✾ Name: api
✾ Description: API Rest da aplicação Voll.med
✾ Package name: med.voll.api
✾ Packaging: Jar
✾ Java: 17
✾ Spring Boot DevTools
✾ Lombok
✾ Spring Web
IntelliJ
Estrutura de diretório inicial do IntelliJ. Projeto que utiliza Maven, logo possui a estrutura de diretórios do Maven.
Amplificando a funcionalidade do projeto
- start.spring
- "Add Dependencies" - Adicionar dependências
- "Explore" - Arquivo pom.xml verifique se está selecionado a opção "Maven"
- Procure as dependências, dentro do código, selecione e copie e cole no arquivo "pom.xml" do projeto, logo abaixo da última dependência.
Dependências adicionadas: Validation, MySql Driver, Spring Data JPA e Flyway Migrations.
Reload All Maven Projects, para que as dependências sejam carregadas.
src > resources > application.properties
add 3 propriedades: URL de conexão com o banco de dados, login, senha.
spring.datasource.url=jdbc:mysql::https://localhost/vollmed_api
spring.datasource.usernamento=seu_username_aqui
spring.datasource.password=sua_senha_aqui
acesse o mysql pela Command Line Client
create database vollmed_api
- Insomnia para testar a API
“+ > Http Request”. - O verbo será o padrão, “GET”. A URL da requisição será o mesmo endereço do cadastro: “https://localhost8080/medicos” -- medicos/pacientes
O verbo da requisição Cadastro e Listagem são diferentes, portanto não haverá conflito.
O body da requisição irá vazio.
Para controlar o número de registros a serem exibidos, a URL é passada com o parâmetro ?size
.
o Spring devolve 20 registros por padrão.
Para trazermos a página,é passado outro parâmetro na URL, após usar um & -- page
.
Com os parâmetros page e size, controlamos a paginação.