Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

bottleでJSONを返す

bottleでJSONをゲットしたい場合……何も考えずに辞書型を放り込むと"Content-Type: application/json"で返してくれます。

実際のところ

文字と現在時刻を返したい場合、以下のようにします。

@get('/api/status')
def api_status():
    return {'status':'online', 'time': strftime('%m-%d_%H:%M:%S_%Z')}

試しにcurlでチェック

$ curl http://localhost:8080/api/status
{"status": "online", "time": "09-27_23:42:23_JST"}

オフにしたいとき

とはいえ、この挙動だと困る事もあるでしょう。
bottleの設定で変更できます。

bottle.default_app().autojson = false