Pythonでミニマム(最小形態)でサーバーを作ってみようと思う。
こんにちは、北神です。
IoTの開発を行う際に、ちょっとテストでサーバーが欲しい!という時に、Linuxを立ち上げアレやコレを入れて、
HTTPのPOSTやGETを取得するサーバーを組むのは時間がかかって仕方がない。
そこで、Pythonでお手軽にAPIサーバーの作り方をまとめていきます。
■ bottleを始めてみる
使うライブラリは「bottle」です。
このbottleは、高性能ではありませんが、数行でサーバーを立ち上げる事ができ、
POSTやGETといったREST-fullの構造を構築する事ができます。
また、HTMLの表示等もできますので、簡易な試験サーバーとして使用する際に重宝します。
早速インストールします
pip3 install bottle
これだけです。
また、bottleは1ソースで構成されたライブラリであることも人気の秘訣であり、以下のULRよりダウンロードすることで使用することも可能です。
https://bottlepy.org/bottle.py
早速、簡単なので以下のソースをテキストに貼り、server.pyと保存してみましょう。
from bottle import Bottle, run , post, get app = Bottle() @app.route('/') def hello(): return "Hello World!" run(app, host='localhost', port=8080)
実行してみます。
python3 server.py
すると、コマンドラインには
Bottle v0.12.19 server starting up (using WSGIRefServer())... Listening on http://localhost:8080/ Hit Ctrl-C to quit.
と表示されますので、試しにブラウザにて
localhost:8080 と入力して表示します。
Hello World! と表示されます。
■ bottleでAPI風を作成
早速API風な機能をつけていきます。
GETの機能は
@app.get('/get') def get_acction(): return "GET Hello!"
で作成でき、
POSTの機能は
@app.post('/post') def post_acction(): return "Post Hello!"
で作成できます。
これで、IoT機器でREST-fullの対応が試せる様になります。
ではでは。