https://github.com/vit0ur/api-rest-hexagon
Este projeto é uma API REST desenvolvida em Java 17 com Spring Boot, utilizando arquitetura hexagonal para promover separação de responsabilidades e flexibilidade.
https://github.com/vit0ur/api-rest-hexagon
java jpa json junit lombok-maven mock rest-api spring-boot
Last synced: 2 months ago
JSON representation
Este projeto é uma API REST desenvolvida em Java 17 com Spring Boot, utilizando arquitetura hexagonal para promover separação de responsabilidades e flexibilidade.
- Host: GitHub
- URL: https://github.com/vit0ur/api-rest-hexagon
- Owner: vit0ur
- Created: 2025-09-19T20:47:48.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-09-23T11:11:06.000Z (9 months ago)
- Last Synced: 2025-09-23T13:12:25.528Z (9 months ago)
- Topics: java, jpa, json, junit, lombok-maven, mock, rest-api, spring-boot
- Language: Java
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🐾 API de Cadastro de Animais - Projeto `apiInitial`
Este projeto é uma API REST desenvolvida em **Java 17** com **Spring Boot**, utilizando **arquitetura hexagonal** para promover separação de responsabilidades e flexibilidade.
A persistência é feita com **JPA** e **banco de dados H2**, acessado via **DBeaver**. O projeto também utiliza **Lombok** para reduzir boilerplate e **JUnit 5** para testes unitários.
A comunicação é feita via **JSON**, e os testes de API são realizados com o **Postman**.
---
## 🧰 Tecnologias Utilizadas
- Java 17
- Spring Boot
- Spring Data JPA
- Lombok
- JUnit 5
- Banco de dados H2 (acessado via DBeaver)
- Postman
- JSON
- Maven
- IntelliJ IDEA
---
## 📦 Estrutura do Projeto
```
apiInitial/
├── .idea/
├── .mvn/
├── src/
│ ├── main/
│ │ └── java/
│ │ └── com.projetoInitial.apiInitial/
│ │ ├── config/ # Configurações (ex: WebConfig)
│ │ ├── controller/ # Controladores REST (ex: AnimalController)
│ │ ├── models/ # Entidades (ex: Animal)
│ │ ├── repositories/ # Interfaces JPA (ex: AnimailRepository)
│ │ ├── services/ # Regras de negócio (ex: AnimailService)
│ │ └── ApiInitialApplication.java
│ └── test/
│ └── java/
│ └── com.projetoInitial.apiInitial/
│ └── ApiInitialApplicationTests.java
```
---
## 🚀 Como Executar
1. **Pré-requisitos**:
- Java 17
- Maven
- IntelliJ IDEA
- DBeaver
2. **Clonar o repositório**:
```bash
git clone https://github.com/seu-usuario/apiInitial.git
cd apiInitial
```
3. **Executar a aplicação**:
```bash
mvn spring-boot:run
```
4. **Acessar a API**:
- Base URL: `http://localhost:8080/api/animais`
- Utilize o Postman para testar os endpoints.
---
## 📬 Exemplos de Requisições
### ➕ Criar Animal
```http
POST /api/animais
Content-Type: application/json
{
"nome": "Rex",
"especie": "Cachorro",
"idade": 5
}
```
### 🔍 Buscar Animal por ID
```http
GET /api/animais/1
```
---
## ✅ Testes
Os testes unitários estão em `src/test/java/com.projetoInitial.apiInitial`. Para executá-los:
```bash
mvn test
```
---
## 🗃️ Banco de Dados
- O banco H2 é configurado no `application.properties` e pode ser acessado via DBeaver com a URL JDBC.
---
## 📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo `LICENSE` para mais detalhes.