Como faço para retornar um array JSON com o Bottle?
Eu estou escrevendo uma API usandoGarrafa, que até agora tem sido fantástico. No entanto, encontrei um pequeno obstáculo ao tentar retornar um array JSON. Aqui está o meu código de aplicativo de teste:
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)
Quando executo isso e solicito cada rota, obtenho as respostas JSON esperadas das duas primeiras rotas:
/solteiro
{ id: 1, name: "Test Item 1" }
/ containsarray
{ "items": [ { "id": 1, "name": "Test Item 1" }, { "id": 2, "name": "Test Item 2" } ] }
Então, eu esperava retornar uma lista de dicionários para criar a seguinte resposta JSON:
[ { "id": 1, "name": "Test Object 1" }, { "id": 2, "name": "Test Object 2" } ]
Mas solicitando o/array
rota apenas resulta em um erro. O que estou fazendo errado e como posso retornar um array JSON dessa maneira?