pip install restless
python
from restless.models import Model
from restless.preparers import FieldsPreparer
from restless.fl import FlaskResource
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/library'
db = SQLAlchemy(app)
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
author = db.Column(db.String(100))
publication_date = db.Column(db.Date)
def __init__(self, title, author, publication_date):
self.title = title
self.author = author
self.publication_date = publication_date
class BookResource(FlaskResource):
preparer = FieldsPreparer(fields={
'id': 'id',
'title': 'title',
'author': 'author',
'publication_date': 'publication_date',
})
def list(self):
return Book.query.all()
def detail(self, pk):
return Book.query.get(pk)
app.add_url_rule('/books/', view_func=BookResource.as_list, methods=['GET'])
app.add_url_rule('/books/<pk>/', view_func=BookResource.as_detail, methods=['GET'])
if __name__ == '__main__':
app.run()