例如,我有一些代码
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来验证请求。
是否有图书馆或一些规则和原则?也许解决这个问题的已知方法?