API REST desenvolvida com Spring Boot para cadastro e gerenciamento de funcionários, incluindo nome, e-mail, salário, data de admissão e status (ativo/inativo).
- Java 17+
- Spring Boot
- Spring Data JPA
- Hibernate
- H2 Database (ou outro configurado)
- Jakarta Validation
git clone https://github.com/IsaacSales15/rh-api.git
cd seu-repositorio
./mvnw spring-boot:run
- controller: camadas de controle da API (
FuncionarioController) - service: regras de negócio (
FuncionarioService) - dto: objetos de entrada/saída da API
- model: entidade
Funcionarioe enumStatusFuncionario - mapper: conversão entre DTO e entidade
- repository: interface JPA para acesso ao banco de dados
Retorna a lista de todos os funcionários cadastrados.
[
{
"id": 1,
"nome": "João Silva",
"email": "joao@email.com",
"salario": 3000.00,
"dataAdmissao": "2024-01-10",
"status": "ATIVO"
}
]
Busca um funcionário pelo ID.
Resposta (200 OK):{
"id": 1,
"nome": "João Silva",
"email": "joao@email.com",
"salario": 3000.00,
"dataAdmissao": "2024-01-10",
"status": "ATIVO"
}
Resposta (404 Not Found):
Sem corpo de resposta.
Cadastra um novo funcionário.
Corpo da Requisição:{
"nome": "Maria Oliveira",
"email": "maria@email.com",
"salario": 4500.00,
"dataAdmissao": "2024-02-01",
"status": "ATIVO"
}
Resposta (201 Created):
{
"id": 2,
"nome": "Maria Oliveira",
"email": "maria@email.com",
"salario": 4500.00,
"dataAdmissao": "2024-02-01",
"status": "ATIVO"
}
Atualiza um funcionário existente.
Corpo da Requisição:{
"nome": "Maria Oliveira",
"email": "maria.oliveira@email.com",
"salario": 5000.00,
"dataAdmissao": "2024-02-01",
"status": "ATIVO"
}
Resposta (200 OK): Funcionário atualizado com sucesso.
Resposta (404 Not Found): Funcionário não encontrado.
nome: obrigatórioemail: obrigatório e formato válidosalario: mínimo de R$ 1.000,00dataAdmissao: obrigatóriastatus: obrigatório (ATIVO ou INATIVO)
A API estará disponível em: http://localhost:8080/funcionarios