Фреймворк обработчика ошибок API aiohttp
Мы разработали некоторые API-интерфейсы на стороне сервера aiohttp, и из этого API-интерфейса мы называем один из классов Python, где я выполнил всю бизнес-логику.
Теперь мы хотим создать инфраструктуру обработки ошибок для всех API-интерфейсов. Пожалуйста, дайте несколько идей для реализации этой инфраструктуры, и мне нужно также выполнить валидацию параметров запроса, если я консолидирую и отправляю все ошибки за один раз или просто проверяю один параметр и отправляю обратно. сообщение об ошибке для звонящего.
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 ответ
Если вы используете aio-http
попытаться создать aiohttp.web.middleware
,