Python 如何在fastapi中获取多表单输入字段作为字典?

Python 如何在fastapi中获取多表单输入字段作为字典?,python,python-3.6,fastapi,pydantic,starlette,Python,Python 3.6,Fastapi,Pydantic,Starlette,我必须向fastapi端点提交这样一个表单,包含14个输入字段,如下面的 <FORM NAME='TESTFORM' ACTION='URL' METHOD='POST'> <input type='hidden' name='CURRENCY' value='PAYMENT_CURRENCY'> <input type='hidden' name='GATEWAYNAME' value='GATEWAY_USED'&

我必须向fastapi端点提交这样一个表单,包含14个输入字段,如下面的

<FORM NAME='TESTFORM' ACTION='URL' METHOD='POST'>
            <input type='hidden' name='CURRENCY' value='PAYMENT_CURRENCY'>
            <input type='hidden' name='GATEWAYNAME' value='GATEWAY_USED'>
            <input type='hidden' name='RESPMSG' value='RESPONSE_MESSAGE_DESCRIPTION'>
            <input type='hidden' name='BANKNAME' value='BANK_NAME_OF_ISSUING_PAYMENT_MODE'>
</FORM>
@app.post("/users/payment/response")
def payment_response_users(
        response_model:PaymentRespModel = Form(...))
所有14个字段的方式相同

但是有没有一种方法可以通过一个pydantic模式获取所有字段呢。像吼叫

<FORM NAME='TESTFORM' ACTION='URL' METHOD='POST'>
            <input type='hidden' name='CURRENCY' value='PAYMENT_CURRENCY'>
            <input type='hidden' name='GATEWAYNAME' value='GATEWAY_USED'>
            <input type='hidden' name='RESPMSG' value='RESPONSE_MESSAGE_DESCRIPTION'>
            <input type='hidden' name='BANKNAME' value='BANK_NAME_OF_ISSUING_PAYMENT_MODE'>
</FORM>
@app.post("/users/payment/response")
def payment_response_users(
        response_model:PaymentRespModel = Form(...))

创建一个包含所有字段的类模型,只需添加您的类即可

    from pydantic import BaseModel        

    Class FormData(BaseModel):
        response_currency: str
        response_gateway: str
        # your all fields


    def payment_response_users(form_data: FormData):

        # your code , access using form_data.response_currency and so on...

这将产生400错误。“获取请求正文时出错”@sunnysid3up,您能告诉我您在做什么吗,可能会有所帮助