Skip to content

Sample project for a REST API + DB backed web application that uses Flask + Connexion + Marshmallow + SQLAlchemy

Notifications You must be signed in to change notification settings

ginomempin/sample-flask-connex-marshmallow-sqla

Repository files navigation

Flask + Connexion + SQLAlchemy + Marshmallow

Overview

[client] --REST API-- [Connexion + Flask] -- [Marshmallow] -- [SQLAlchemy]
  • Use Connexion to automagically parse API specifications written using OpenAPI/Swagger specifications and map/route the HTTP requests to the methods served up by a Flask server
  • Use Marshmallow to serialize/deserialize Python objects and data types to/from SQLAlchemy objects
  • Use SQLAlchemy to abstract SQL statements and data structures as regular Python objects and data types

Setup and Run

  1. Setup a Python 3.8 virtual environment
  2. Install dependencies
    (py38) $ pip install -r requirements.txt
    
    
  3. Create the DB
    (py38) $ python build_database.py
    
    
  4. Run the app
    (py38) $ python server.py
    
    
  5. Check the APIs via the documentation auto-generated by the Swagger UI
    • http://localhost:5000/api/ui
  6. Try out the APIs using the sample app
    • http://localhost:5000/

References