Python 如何在fastapi中获取多表单输入字段作为字典?
我必须向fastapi端点提交这样一个表单,包含14个输入字段,如下面的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'&
<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,您能告诉我您在做什么吗,可能会有所帮助