私はBottleを使って API を書いていますが、これはこれまで素晴らしいものでした。ただし、JSON 配列を返そうとすると、小さなハードルにぶつかりました。テストアプリのコードは次のとおりです。
from bottle import route, run
@route('/single')
def returnsingle():
return { "id": 1, "name": "Test Item 1" }
@route('/containsarray')
def returncontainsarray():
return { "items": [{ "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" }] }
@route('/array')
def returnarray():
return [{ "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" }]
run(host='localhost', port=8080, debug=True, reloader=True)
これを実行して各ルートをリクエストすると、最初の 2 つのルートから期待される JSON 応答が得られます。
/独身
{ id: 1, name: "Test Item 1" }
/含む配列
{ "items": [ { "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" } ] }
したがって、次の JSON 応答を作成するために辞書のリストを返すことを期待していました。
[ { "id": 1, "name": "Test Object 1" }, { "id": 2, "name": "Test Object 2" } ]
ただし、ルートを要求する/array
と、エラーが発生するだけです。私は何を間違っていますか? この方法で JSON 配列を返すにはどうすればよいですか?