Projeto desenvolvido para a disciplina de Sistemas Distribuídos, focado na criação de uma API REST robusta utilizando Java, Javalin e MySQL.
Certifique-se de ter instalado:
- Java JDK 17 ou superior
- Maven 3.x
- MySQL Server 8.0
-
Crie um banco de dados no MySQL chamado gestao_funcionarios (ou o nome definido no seu código).
-
Execute os scripts SQL localizados na pasta /sql do projeto para criar as tabelas departamento e funcionario.
No arquivo de configuração de conexão (ex: MySQLConnection.java), ajuste as credenciais de acesso ao seu banco de dados local:
private static final String URL = "jdbc:mysql://localhost:3306/gestao_funcionarios";
private static final String USER = "seu_usuario";
private static final String PASSWORD = "sua_senha";- Abra o terminal na pasta raiz do projeto.
*Compile o projeto com o Maven:
mvn clean install- Execute a classe App.java
- URL:
GET http://localhost:7000/departamentos?page=1&size=5 - Acesso: Pública
- Body: Nenhum (vazio)
- URL:
GET http://localhost:7000/departamentos/1 - Acesso: Pública
- Body: Nenhum
- URL:
POST http://localhost:7000/departamentos - Acesso: Privada (Requer Token JWT no Header)
- Body (JSON):
{
"nome": "Desenvolvimento de Software",
"capacidade": 50,
"ativo": true,
"gerente": {
"id": 1
}
}- URL:
DELETE http://localhost:7000/departamentos/1 - Acesso: Privada
- Body: Nenhum
- URL:
GET http://localhost:7000/funcionarios?nome=Joao&page=1&size=10 - Acesso: Pública
- Body: Nenhum
- URL:
POST http://localhost:7000/funcionarios - Acesso: Privada
- Body (JSON):
{
"nome": "Carlos Silva",
"cargo": "Desenvolvedor Backend",
"gestor": "Ana Souza",
"dataContratacao": "2026-02-17",
"departamento": 1
}- URL:
GET http://localhost:7000/departamentos/1/funcionarios - Acesso: Pública
- Body: Nenhum
- URL:
DELETE http://localhost:7000/funcionarios/1 - Acesso: Privada
- Body: Nenhum
- URL:
POST http://localhost:7000/login - Acesso: Pública
- Body (JSON):
{
"usuario": "admin@empresa.com",
"senha": "1234"
}