[Python] Bottleを試したメモ

Jan 19, 2020   #Python  #Bottle 

Bottleを試したメモ。

環境

  • macOS Catalina

  • Python 3.7.3

仮想環境作成

python3 -m venv $HOME/work/bottle
source $HOME/work/bottle/bin/activate

Bottleインストール

pip install -U bottle

API コード

bottle_sample.py
from bottle import run, get, request, response
import json

notes = [
        {'id':1, 'note':'メモ1'},
        {'id':2, 'note':'メモ2'},
        {'id':3, 'note':'メモ3'},
]

@get('/notes')
def get_notes():
        response.headers['Content-Type'] = 'application/json;charset=UTF-8'
        response.headers['Cache-Control'] = 'no-cache'
        return json.dumps(notes, ensure_ascii=False)

run(host='localhost', port=8081, debug=True, reloader=True)

json.dumps()で ensure_ascii=False を指定しないと日本語がUnicodeとして出力されてしまう。

実行

python3 bottle_sample.py

確認

curl http://localhost:8081/notes

仮想環境をDeactivate

deactivate

再度仮想環境を使う場合はactivateすれば良い。

source $HOME/work/bottle/bin/activate