LoginSignup
9
11

More than 5 years have passed since last update.

Python3+Falconで現在時刻を返すREST API作成

Last updated at Posted at 2017-01-09

動機

機械学習を使ったサービスを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}

のように結果が表示されます。

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11