dayjournal memo

Total 973 articles!!

Flask #004 - FlaskRestlessとFlaskSQLAlchemyでAPI配信

Yasunori Kirimoto's avatar

画像


画像


画像


画像



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取得。

画像



book

Q&A