- Visão Geral
- Estrutura do Projeto
- Diagrama DER do Banco de Dados
- Começando
- Uso
- Visualização da API
- Tecnologias Utilizadas
O Projeto de API de Código Postal é uma aplicação Spring Boot que fornece uma API RESTful para gerenciar clientes e seus endereços. Ele integra com o serviço ViaCep para recuperar detalhes de endereço com base em códigos postais (CEPs).
com.tech.postal_code
├── controller
│ └── ClientRestController.java
├── model
│ ├── Address.java
│ └── Client.java
├── repository
│ ├── AddressRepository.java
│ └── ClientRepository.java
├── service
│ ├── ClientService.java
│ ├── ViaCepService.java
│ └── impl
│ └── ClientServiceImpl.java
├── error
│ ├── ApiError.java
│ ├── ApiExceptionHandler.java
│ └── ClientNotFoundException.java
└── ApiProjectApplication.java
- ClientRestController.java: Define os endpoints REST para operações com clientes.
- Address.java: Entidade que representa o endereço.
- Client.java: Entidade que representa o cliente.
- AddressRepository.java: Interface de repositório para operações com endereços.
- ClientRepository.java: Interface de repositório para operações com clientes.
- ClientService.java: Interface de serviço para operações com clientes.
- ViaCepService.java: Interface de serviço para acessar a API ViaCep.
- ClientServiceImpl.java: Implementação do ClientService.
- ApiError.java: Classe para tratamento de erros da API.
- ApiExceptionHandler.java: Manipulador global de exceções para a API.
- ClientNotFoundException.java: Exceção personalizada para casos de cliente não encontrado.
- ApiProjectApplication.java: Classe principal para inicializar a aplicação Spring Boot.
classDiagram
class Client {
- Long id
- String name
- String address_cep
}
class Address {
- String cep
- String logradouro
- String complemento
- String unidade
- String bairro
- String localidade
- String uf
- String ibge
- String gia
- String ddd
- String siafi
}
Client --> "1" Address : ManyToOne
- Java 17 ou superior
- Maven
- Um IDE de sua escolha
-
Clone o repositório:
git clone https://github.com/yourusername/postal_code_api.git cd postal_code_api
-
Instale as dependências:
mvn install
-
Execute a aplicação:
mvn spring-boot:run
-
A aplicação estará disponível em
http://localhost:8080
.
- GET /clients: Recupera todos os clientes.
- GET /clients/{id}: Recupera um cliente pelo ID.
- POST /clients: Cria um novo cliente.
- PUT /clients/{id}: Atualiza um cliente pelo ID.
- DELETE /clients/{id}: Deleta um cliente pelo ID.
O Swagger é uma ferramenta que permite visualizar e interagir com a API de forma interativa. Para acessar a documentação da API via Swagger, siga os passos abaixo:
-
Certifique-se de que a aplicação está em execução: A aplicação deve estar rodando localmente no endereço
http://localhost:8080
. -
Acesse o Swagger UI: Abra seu navegador e vá para o endereço
http://localhost:8080/swagger-ui.html
.- Na interface do Swagger UI, você verá uma lista de todos os endpoints disponíveis na API.
- Você pode testar os endpoints diretamente pela interface clicando em "Try it out" e preenchendo os parâmetros necessários.
- A documentação é gerada automaticamente com base nas anotações feitas nas classes de controle da API.
O frontend fornece uma interface gráfica para interagir com a API. Para usar o frontend, siga os passos abaixo:
-
Certifique-se de que a aplicação está em execução: A aplicação deve estar rodando localmente no endereço
http://localhost:8080
. -
Acesse o frontend: Abra seu navegador e vá para o endereço
http://localhost:8080/web/clients
.- Na página inicial, você verá uma lista de clientes cadastrados e um formulário para adicionar novos clientes.
- Cadastrar Cliente: Preencha o formulário com as informações do cliente, incluindo o nome e o CEP (pode ser
digitado no formato
13026099
ou13026-099
).- Clique no botão "Save" para adicionar o cliente à lista.
- Visualizar Informações: Após cadastrar um cliente, você pode clicar no nome do cliente na lista para visualizar seus detalhes.
- Buscar Cliente: Use a barra de busca para filtrar clientes pelo nome. À medida que você digita, a lista será atualizada para mostrar apenas os clientes que correspondem ao texto de busca.
- Atualizar e Deletar: Você pode atualizar e deletar clientes diretamente na lista de clientes, clicando nos botões apropriados.
Estas funcionalidades fornecem uma maneira fácil e intuitiva de interagir com a API e gerenciar seus dados.
- Spring Boot
- Spring Data JPA
- Spring Cloud OpenFeign
- H2 Database
- Thymeleaf
- jQuery
- Lombok
- Visão Geral: Dá uma visão geral do projeto.
- Estrutura do Projeto: Explica a estrutura do projeto, listando pacotes e classes principais.
- Diagrama DER do Banco de Dados: Apresenta o DER do banco de dados.
- Começando: Instruções para começar a usar o projeto, incluindo pré-requisitos, instalação e execução.
- Uso: Lista os endpoints da API.
- Tecnologias Utilizadas: Lista as tecnologias utilizadas no projeto.
Este README deve ajudar qualquer desenvolvedor a entender, configurar e usar o projeto de maneira eficiente.
Desenvolvido por Lucas Santos
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.