プログラミングと絵と音楽

コンピューター科学を専攻し、絵と音楽を趣味とするエンジニアのブログです。

Pythonでfalconを用いて簡易APIサーバーを作る。

Python 3.6 です。

falcon を使った簡易APIサーバーです。自然言語処理のブラウザインターフェースを作ろうとして必要になったので、メモとして残します。

構成要素

実装

falcon をインストールします。

pip install falcon

コードは以下。

import falcon
import json
import sys
from wsgiref import simple_server

class Number(object):
    def on_get(self, req, resp):
        result = req.params
        values = [int(v) for v in result["values"].split("_")]
        resp.body = json.dumps({ "answer": sum(values) })

if __name__ == '__main__':
    app = falcon.API()
    app.add_route("/", Number())
    httpd = simple_server.make_server("127.0.0.1", int(sys.argv[1]), app)
    httpd.serve_forever()

req でディクショナリを受け取るので、json文字列を返します。

この例だと足し算を行うプログラムです。

実行

以下でサーバーを起動します。例として port 13337 で起動します。

python server.py 13337

そしてブラウザで

localhost:13337?values=1_2_3_4_5

と入力すると、足し算が行われて、ブラウザに

{ "answer": 15 }

と表示されます。

エラー処理をきちんと追加すれば使用できそうです。