Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.rst

Flask-SQLA2api

https://travis-ci.org/acifani/flask-sqla2api.svg?branch=master https://coveralls.io/repos/github/acifani/flask-sqla2api/badge.svg?branch=master

Flask middleware that creates a simple Flask API CRUD REST endpoint based on a SQLAlchemy model definition.

Basic usage

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_sqla2api import SQLA2api

# Init app and DB
app = Flask(__name__)
db = SQLAlchemy(app)

# Setup a simple SQLAlchemy model
class Entry(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))

# Init Flask-sqla2api
api = SQLA2api([Entry], self.db)
api.append_blueprints(app)

The previous tiny app will create the following endpoints

URL HTTP Method Action
/entry GET Get all entries
/entry POST Create new entry
/entry/<id> GET Get a single entry
/entry/<id> PUT Edit existing entry
/entry/<id> DELETE Delete existing entry

Generate single blueprint

If you want more control over your blueprints you can generate it and append it yourself to your app.

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_sqla2api import generate_blueprint

# Init app and DB
app = Flask(__name__)
db = SQLAlchemy(app)

# Setup a simple SQLAlchemy model
class Entry(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))

# Generate and register blueprint
blueprint = generate_blueprint(Entry, db)
app.register_blueprint(blueprint, url_endpoint='/')

To-Do

  • Input validation
  • API docs generation
You can’t perform that action at this time.