FlaskRestlessとFlaskSQLAlchemyでAPI配信するメモ。
サンプルのSQLiteを準備しておきます。
FlaskRestlessをインストール。
pip install Flask-Restless
FlaskSQLAlchemyをインストール。
pip install Flask-SQLAlchemy
script.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#モジュールインポート
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_restless import APIManager
#flaskのインスタンス作成
app = Flask(__name__)
#日本語表示対応
app.config['JSON_AS_ASCII'] = False
#SQLite読み込み
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///db.sqlite"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)
#restless設定
manager = APIManager(app, flask_sqlalchemy_db = db)
#UserテーブルのModel作成
class User(db.Model):
__tablename__ = "User"
id = db.Column(db.Integer, primary_key=True)
m_Key = db.Column(db.String(100))
m_Name = db.Column(db.String(100))
#JSON取得処理
manager.create_api(User, methods=["GET"])
#app実行
if __name__ == '__main__':
app.run()
対象ディレクトリでコマンド実行。
python script.py
「127.0.0.1:5000/api/User」でアクセスするとJSON取得。
「127.0.0.1:5000/api/User/2」でアクセスすると指定したidのJSON取得。