Delivery Acert
O projeto consiste em uma api simplificada para controle de delivery de um restaurante, utilizando autenticação via token JWT.
Ferramentas/Techs
• Java 8
• Maven
• Spring
◦ SpringBoot
◦ SpringData JPA
◦ Spring Security
• Flyway
• Firebird 3.0
• Lombok
• JWT
• IntelliJ
Diagrama Entidades
Executando API
application.properties
Crie um banco Firebird e indique o caminho na propriedade spring.datasource.url.
Informe o usuário e senha do banco nas propriedades spring.datasource.username e spring.datasource.password.
Autenticação/Login
Para realizar autenticação na api, basta fazer uma requisição POST no endpoint “/login” (http://localhost:8080/login) passando no body um email e senha.
O token JWT ficará disponível no header do response, na propriedade Authorization.
End-Points
OBS.:Utilize o token JWT no Auth da requisição como Bearer
Clientes/Usuários
[GET] Listar Todos - http://localhost:8080/usuarios
[GET] Buscar - http://localhost:8080/usuarios/id
[POST] Adicionar - http://localhost:8080/usuarios
Exemplo Requestbody: {
"nome": "Rafael",
"email": "rafael@rafael.com",
"senha": "12345"
}
[PUT] Atualizar - http://localhost:8080/usuarios/id
Exemplo Requestbody: {
"nome": "Rafael",
"email": "rafael@rafael.com",
"senha": "12345"
}
[DELETE] Excluir - http://localhost:8080/usuarios/id
Pedidos
[GET] Listar Todos - http://localhost:8080/pedidos
[GET] Buscar - http://localhost:8080/pedidos/id
[POST] Adicionar - http://localhost:8080/pedidos
Exemplo Requestbody: {
"valorTotal": 10.80,
"status": "CRIADO",
"cliente_id": {
"id": 1
}
}
[PUT] Atualizar - http://localhost:8080/pedidos/id
Exemplo Requestbody: {
"valorTotal": 10.80,
"status": "FINALIZADO",
"cliente_id": {
"id": 1
}
}
[DELETE] Excluir - http://localhost:8080/pedidos/id
Entregas
[GET] Listar Todos - http://localhost:8080/entregas
[GET] Buscar - http://localhost:8080/entregas/id
[POST] Adicionar - http://localhost:8080/entregas
Exemplo Requestbody: {
"status": "CRIADO",
"pedido_id": {
"id": 1
}
}
[PUT] Atualizar - http://localhost:8080/entregas/id
Exemplo Requestbody: {
"status": "FINALIZADO",
"pedido_id": {
"id": 1
}
}
[DELETE] Excluir - http://localhost:8080/entregas/id
Se você utiliza o Insomina para fazer suas requisições, clique no botão abaixo.