一:定义,由于请求体时以json的形式传送,所以需要定义数据模型

fastapi九:fastapi请求体参数定义、接收、校验_自定义

fastapi九:fastapi请求体参数定义、接收、校验_字段_02

 

二:参数验证

由于已经定义了数据模型,所以相当于我们要验证的是模型里面的每个字段,pydantic提供了Field类,用于校验,Filed的参数其实和Path、Query一样的

fastapi九:fastapi请求体参数定义、接收、校验_字段_03

使用

fastapi九:fastapi请求体参数定义、接收、校验_json_04

fastapi九:fastapi请求体参数定义、接收、校验_数据模型_05

 

三:异常处理,同样使用 @app.excption_handler 捕获,并且由于是使用的pydantic校验,可以自定义校验

fastapi九:fastapi请求体参数定义、接收、校验_自定义_06

 

fastapi九:fastapi请求体参数定义、接收、校验_字段_07

fastapi九:fastapi请求体参数定义、接收、校验_字段_08

 fastapi九:fastapi请求体参数定义、接收、校验_数据模型_09

 

 

同样,至于怎么抛出友好的中文提示,还在研究中。。。

 

讨论群:249728408