2016-11-15 14 views
4

私はアプリケーションにREST APIを追加したいと思います。私はすでにPythonのasyncioを使って、いくつかの(非RESTの)UNIXソケットリスナーを持っています。私がREST APIを実装するために見つけたほとんどのフレームワークは、独自のイベントループ(asyncioのイベントループと競合します)を開始する必要があるようです。Pythonで既存のasyncioイベントループを使用してREST APIを実装する

REST/UNIXソケットリスナを組み合わせるための最良のアプローチ/ライブラリは何ですか?独自の実装を最初からロールバックする必要はありませんか?

ありがとうございます!

答えて

4

私の質問に答えるために、上記はaiohttpを使って非常にうまく動作します。縫合参考資料として、aiohttpの資料から採用された最小限の例を示します。

import asyncio 
from aiohttp import web 
import code 

async def handle(request): 
    name = request.match_info.get('name', "Anonymous") 
    text = "Hello, " + name 
    return web.Response(text=text) 

app = web.Application() 
app.router.add_get('/', handle) 
app.router.add_get('/{name}', handle) 

loop = asyncio.get_event_loop() 
handler = app.make_handler() 
f = loop.create_server(handler, '0.0.0.0', 8080) 
srv = loop.run_until_complete(f) 

loop.run_forever() 
code.interact(local=locals()) 
関連する問題