web-dev-qa-db-ja.com

jsonとしてのaiohttp web.response本文

python-3.6 を使用してaiohttpにHTTPサーバーがあります。 JSONを介してweb.Response()を返すにはどうすればよいですか(dictから)?

async def api_server(request):
    res = {"q": "qqq", "a": "aaa"}
    return web.Response(res) # <-- as JSON
24
morfair

_web.json_response_ を使用できます。

_async def api_server(request):
    res = {"q": "qqq", "a": "aaa"}
    return web.json_response(res)_

さらに、_json_response_には、次のような追加のパラメーターがあります。

_json_response(data, text=None, body=None, status=200, reason=None,
              headers=None, content_type='application/json', dumps=json.dumps)_

ほとんどのパラメーターはジェネリックweb.Response(..)と同じですが、dumpsはより興味深いものです。これは、データをJSONの同等のものに変換するメソッドへの参照です。デフォルトでは_json.dumps_を使用します。ただし、クライアントに複雑なオブジェクトを書き込む予定の場合は、おそらくそれを変更する必要があります。今のところそれは結構です。

27