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

2024-04-25 06:16:04 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我有一些代码

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来验证请求。你知道吗

有没有图书馆或一些规则和原则?也许有解决这个问题的方法?你知道吗


Tags: 代码fromimportnonewebgetifis