如何使用aiohttp验证请求正文方案?

时间:2019-11-14 13:44:26

标签: python rest aiohttp

例如,我有一些代码

from typing import Dict, Union

from aiohttp import web


async def post_sign_in(request: web.Request):
    request_body: Dict = await request.json()

    login: Union[str, None] = request_body.get('login', None)
    password: Union[str, None] = request_body.get('password', None)

    if login is None:
        return web.HTTPBadRequest()

    if password is None:
        return web.HTTPBadRequest()

    # request handling...

它适用于普通的JSON主体,但是在复杂的DTO情况下,代码变得很糟糕。

我想描述诸如[key]:[type]之类的请求主体方案,并使用此JSON来验证请求。

是否有图书馆或一些规则和原则?也许解决这个问题的已知方法?

0 个答案:

没有答案