Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python проекты
  • » Примеры json api сервисов на aiohttp (middlewares, оболочки запросов/ответов, валидация данных) [RSS Feed]

#1 Фев. 26, 2021 11:18:28

EvgIq
От:
Зарегистрирован: 2009-11-14
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Примеры json api сервисов на aiohttp (middlewares, оболочки запросов/ответов, валидация данных)

Cделал мидлевары для json api сервиса на aiohttp.

1. Простая мидлевара, сигнатура обработчика должна быть такой:

 async def some_handler(request: web.Request, data: Any) -> Any:
(вместо Any у data надо, конечно, ставить нужную аннотацию,.. аргументы обработчика - позиционные)

2. Мидлевара для произвольных аргументов у обработчиков, примеры объявлений обработчиков:
 async def some_handler_1(data: dict) -> int:
    # ...
    return some_data
async def some_handler_2(storage: StorageClass, data: List[int]) -> dict:
    # ...
    return some_data
async def some_handler_3(
    data: Union[dict, List[str]], logger: LoggerClass, request: web.Request
) -> str:
    # ...
    return some_data
(аргументы должны иметь аннотации)

3. Мидлевара с оболочками для запросов и ответов, и валидацией данных (может наследоваться и от 1-й и от 2-й)

Ссылка:
https://github.com/EvgeniyBurdin/api_service/tree/main

Есть докер - можно быстро запустить и посмотреть в работе.



Отредактировано EvgIq (Фев. 26, 2021 11:22:11)

Офлайн

  • Начало
  • » Python проекты
  • » Примеры json api сервисов на aiohttp (middlewares, оболочки запросов/ответов, валидация данных)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version