Una API simple que te permitirá agregar/recuperar proyectos con las tareas para cada proyecto.
Clona este repo
git clone https://github.com/NSMichelJ/todo_project_api.git
Instala las dependencias
pip install requirements.txt
Configura las variables de entorno
set FLASK_APP=entrypoint:app
set FLASK_ENV=development
Ejecuta las migraciones
flask db upgrade
Corre la app
flask run
todo_project_api
├── app
│ ├── todo
│ │ ├── __init__.py
│ │ ├── models.py // Modelos de la app
│ │ ├── resources.py // Endpoints de la api
│ │ ├── schema.py // Esquema para serializar los modelos
│ │ └── todo.py // Lógica para mostrar los recursos
│ └── __init__.py // Configuración de la app
│
├── config
│ ├── __init__.py
│ └── default.py // Configuración por defecto
│
└── entrypoint.py // Crea la instancia de la app
Methods Route
---------------- ------------------------
GET /
DELETE, GET, PUT /api/v1/project/<int:id>
GET, POST /api/v1/projects/
DELETE, PUT /api/v1/task/<int:id>
Realiza una petición GET a la URL http://localhost:5000/api/v1/projects/
Realiza una petición POST a la URL http://localhost:5000/api/v1/projects/ con el siguiente contenido:
{
"title": "some project",
"description": "some decription",
"tasks": [
{"task": "task 1"},
{"task": "task 2"}
]
}
Realiza una petición GET a la URL http://localhost:5000/api/v1/project/1
Realiza una petición PUT a la URL http://localhost:5000/api/v1/project/1
{
"title": "new some project"
}
{
"description": "new some project"
}
{
"tasks": [
{"task": "task 3"}
]
}
{
"title": "new, new some project",
"description": "new some project",
"tasks": [
{"task": "task"}
]
}
Realiza una petición PUT a la URL http://localhost:5000/api/v1/task/1 con el siguiente contenido
{
"done": true
}
O actualiza la tarea
{
"task": "new task 1"
}
Realiza una petición DELETE a la URL http://localhost:5000/api/v1/task/1
Realiza una petición DELETE a la URL http://localhost:5000/api/v1/project/1