Servicio RESTful para enseñanza-aprendizaje de una API REST utilizando el framework flask-smorest. Basado en el ejemplo de @lafrech disponible en el repositorio flask-smorest-sqlalchemy-example.
- Flask
- flask-smorest
- Flask-CORS
- Flask-JWT-Extended
- Flask-SQLAlchemy
- Flask-Marshmallow
- marshmallow-sqlalchemy
La base de datos utilizada es Chinook, que modela una tienda de música digital y está disponible para varios SGBD.
Los scripts de creación del esquema están disponibles en el repositorio Chinook Database de Luis Rocha en Github.
El proyecto se ha probado con Python 3.8 y la herramienta Pipenv para la gestión de paquetes y entornos virtuales.
$ pip install --user pipenvDespués de instalar el paquete Pipenv tal vez sea necesario ajustar la variable de entorno $PATH.
El mismo comando de instalación de dependencias creará el entorno virtual.
$ pipenv installPara activar el entorno virtual del proyecto se ejecutará pipenv shell.
Para la configurar la aplicación se necesitan algunas variables de entorno. Puedes encontrar un ejemplo en el fichero .env.example.
La variable de entorno $FLASK_APP indica el fichero que actuará como punto de entrada para poder lanzar la aplicación. La variable de entorno $FLASK_ENV indica el entorno en el que se ejecutará la aplicación (desarrollo o producción). Una vez definidas estas variables se lanza el servidor WSGI con el comando
$ flask runSi no tienes el comando flask disponible, puedes ejecutarlo como un módulo Python.
$ python -m flask run