Flask-RESTy provides building blocks for creating REST APIs with Flask, SQLAlchemy, and marshmallow.
from flask_resty import Api, GenericModelView
from . import app, models, schemas
class WidgetViewBase(GenericModelView):
model = models.Widget
schema = schemas.WidgetSchema()
class WidgetListView(WidgetViewBase):
def get(self):
return self.list()
def post(self):
return self.create()
class WidgetView(WidgetViewBase):
def get(self, id):
return self.retrieve(id)
def patch(self, id):
return self.update(id, partial=True)
def delete(self, id):
return self.destroy(id)
api = Api(app, "/api")
api.add_resource("/widgets", WidgetListView, WidgetView)
Documentation is available at https://flask-resty.readthedocs.io/.
MIT Licensed. See the bundled LICENSE file for more details.