動機
機械学習を使ったサービスをREST APIで提供するために、
まずは、PythonでREST APIを実装してみる。
Falcon
PythonのWEBフレームワーク。
マイナーだけど、軽量・高速なのだとか。
Falconで光速のWeb APIサーバーを構築する
Python+FalconでWebAPI
環境
Python 3.5.2
Falcon 1.1.0
Cython 0.24.1 (Python高速化)
pipでインストールできます。
pip install falcon
pip install cython
ソースコード
timeapi.py
import json
import falcon
from datetime import datetime
#クラスを作成し処理を記述する
class TimeResource(object):
#GETメソッド
def on_get(self, req, resp):
#メッセージを記述
dt=datetime.now() #時刻
msg = {
"hour": dt.hour,
"minute": dt.minute,
"second": dt.second
}
#メッセージをjson形式で返す
resp.body = json.dumps(msg)
#appインスタンス作成
app = falcon.API()
#エンドポイントとクラスを結びつける
app.add_route("/", TimeResource())
if __name__ == "__main__":
#サーバーを起動する
from wsgiref import simple_server
httpd = simple_server.make_server("", 8000, app)
httpd.serve_forever()
実行
http://localhost:8000
にアクセスすると
{'second': 53, 'hour': 12, 'minute': 1}
のように結果が表示されます。