PythonでちょっとしたWebAPIをやろうとしたら……
まさにちょうどいい記事が公開されてました。
Python - Falconで光速のWeb APIサーバーを構築する - Qiita
Falcon - The minimalist Python WSGI framework
falconry/falcon
この記事ではsimple_server
を使ったやり方で書かれていましたが、ここでは推奨のGunicornを使ってみます。
Gunicorn - Python WSGI HTTP Server for UNIX
benoitc/gunicorn
インストール
全部まとめてpipで
pip install --upgrade cython falcon gunicorn
サンプル
Falcon Web Framework (http://falconframework.org)
を参考に
sample.py
# -*- coding: utf-8 -*-
# sample.py
import falcon
import json
class ItemsResource:
def on_get(self, req, resp):
"""Handles GET requests"""
items = {
'title': 'Python+FalconでWebAPI',
'tags': [
{
'name': 'Python','versions':[]
},
{
'name': 'Falcon','vresions':[]
}
]
}
resp.body = json.dumps(items,ensure_ascii=False)
api = falcon.API()
api.add_route('/items', ItemsResource())
wget http://localhost:8000/items
でアクセスすると
{"tags": [{"name": "Python", "versions": []}, {"vresions": [], "name": "Falcon"}], "title": "Python+FalconでWebAPI"}
無事取得できましたとさ。めでたしめでたし。