🔌 Referência Completa da API REST
A API do Todo List segue os princípios RESTful, retornando respostas no formato JSON e utilizando códigos de status HTTP semânticos para indicar o resultado das operações.
🌐 Endpoints Disponíveis
| Método | Endpoint | Parâmetros / Query | Corpo (JSON) | Retorno Sucesso |
|---|---|---|---|---|
| GET | /api/tasks |
?filter=all\|pending\|done |
Nenhum | 200 OK |
| POST | /api/tasks |
Nenhum | {title*, description, reminder} |
201 Created |
| PUT | /api/tasks/<id> |
Nenhum | {title*, description, reminder} |
200 OK |
| PATCH | /api/tasks/<id>/toggle |
Nenhum | Nenhum | 200 OK |
| DELETE | /api/tasks/<id> |
Nenhum | Nenhum | 204 No Content |
📖 Detalhamento dos Métodos
1. Listar Tarefas (GET /api/tasks)
Retorna a lista de tarefas cadastrada no sistema, filtrada de acordo com o parâmetro opcional, além da contagem em tempo real.
Query Parameters
filter(opcional):"all"(padrão),"pending"ou"done".
Exemplo de Resposta (200 OK)
{
"tasks": [
{
"id": 1,
"title": "Estudar Python",
"description": "Revisar laços de repetição (Loop).",
"done": false,
"reminder": "2026-05-09T22:59:00",
"created_at": "2026-05-17T12:00:00.000000"
}
],
"count_done": 0,
"count_pending": 1
}
2. Criar Tarefa (POST /api/tasks)
Cria uma nova tarefa no armazenamento em memória.
Corpo da Requisição (JSON)
{
"title": "Comprar café",
"description": "Grãos moídos na hora",
"reminder": "2026-05-20T15:30:00"
}
title é obrigatório. description e reminder são opcionais.
Exemplo de Resposta (201 Created)
{
"id": 5,
"title": "Comprar café",
"description": "Grãos moídos na hora",
"done": false,
"reminder": "2026-05-20T15:30:00",
"created_at": "2026-05-17T12:35:00.123456"
}
Respostas de Erro Comuns
400 Bad Request: Quando o título está ausente ou vazio.
3. Editar Tarefa (PUT /api/tasks/<id>)
Atualiza integralmente as informações de título, descrição e lembrete de uma tarefa específica.
Corpo da Requisição (JSON)
{
"title": "Comprar café descafeinado",
"description": "Pacote de 500g",
"reminder": "2026-05-21T10:00:00"
}
Exemplo de Resposta (200 OK)
Retorna o objeto da tarefa com os dados atualizados.
- 404 Not Found: Se o ID da tarefa não existir.
4. Alternar Status de Conclusão (PATCH /api/tasks/<id>/toggle)
Inverte o estado do atributo done (true para false ou vice-versa).
Exemplo de Resposta (200 OK)
{
"id": 1,
"title": "Estudar Python",
"description": "Revisar laços de repetição (Loop).",
"done": true,
"reminder": "2026-05-09T22:59:00",
"created_at": "2026-05-17T12:00:00.000000"
}
5. Excluir Tarefa (DELETE /api/tasks/<id>)
Remove a tarefa permanentemente da memória.
Resposta de Sucesso
204 No Content(corpo da resposta vazio).404 Not Found: Se a tarefa solicitada não for encontrada.