- API REST
- Consultas com Spring Data JPA
- Injeção de Dependências
- Tratamento de respostas de erro
- Geração automática do Swagger com a OpenAPI 3
A aplicação pode ser executada em um container Docker (requer docker e compose instalados) ou construída pelo Gradle e executada tradicionalmente.
- Clonar repositório git
- constrói o conteiner
$ docker-compose build
- executa o conteiner
$ docker-compose up
- encerra o conteiner
$ docker-compose down
- Limpa e cria um novo executável
$ ./gradlew clean bootjar
- Executar a aplicação:
$ java -jar build/libs/todolist-0.0.1-SNAPSHOT.jar
A API poderá ser acessada em localhost:8080. O Swagger poderá ser visualizado em localhost:8080/swagger-ui.html
Para fazer as requisições HTTP abaixo, foi utilizada a ferramenta httpie:
- Criar Tarefa
$ http POST :8080/todos name="Todo 1" description="Desc Todo 1" priority=1
[
{
"description": "Desc Todo 1",
"id": 1,
"name": "Todo 1",
"priority": 1,
"finished": false
}
]
- Listar Tarefas
$ http GET :8080/todos
[
{
"description": "Desc Todo 1",
"id": 1,
"name": "Todo 1",
"priority": 1,
"finished": false
}
]
- Atualizar Tarefa
$ http PUT :8080/todos/1 name="Todo 1 Up" description="Desc Todo 1 Up" priority=2
[
{
"description": "Desc Todo 1 Up",
"id": 1,
"name": "Todo 1 Up",
"priority": 2,
"finished": false
}
]
- Remover Tarefa
http DELETE :8080/todos/1
[ ]