фреймворк обработчика ошибок API aiohttp - PullRequest
0 голосов
/ 16 мая 2018

мы разработали некоторые API-интерфейсы на стороне сервера aiohttp, и из этого API-интерфейса мы называем один из классов Python, где я выполнил всю бизнес-логику.

Теперь мы хотим создать среду обработки ошибок длявсе apis, пожалуйста, дайте некоторые идеи для реализации этой платформы, и мне также нужно выполнить проверку параметров запроса, если я консолидирую и отправляю все ошибки одновременно или просто проверяю один параметр, отправляю сообщение об ошибке вызывающей стороне.

API выглядит следующим образом:

 async def new_user(request):
try:
    # happy path where name is set
    user = request.query['name']
    # Process our new user
    print("Creating new user with name: " , user)

    response_obj = { 'status' : 'success' }
    # return a success json response with status code 200 i.e. 'OK'
    return web.Response(text=json.dumps(response_obj), status=200)
except Exception as e:
    # Bad path where name is not set
    response_obj = { 'status' : 'failed', 'reason': str(e), 'code' : 400 }
    # return failed with a status code of 500 i.e. 'Server Error'
    return web.Response(text=json.dumps(response_obj), status=400)

1 Ответ

0 голосов
/ 25 июня 2018

Если вы используете aio-http, попробуйте создать aiohttp.web.middleware.

https://docs.aiohttp.org/en/stable/web_advanced.html#middlewares

...