FastAPI 使用

1.无论是否使用async,FastAPI都会使用异步的方式处理,如果定义了async函数,函数内部使用的是同步的调用(不使用await),函数执行过程变成串行

2.validator 装饰器:可以在post数据时对数据进行校验

from pydantic import BaseModel, validator
class Info(BaseModel):
   username: str
   age: int
   address: str

   @validator("username")
   def check_name(cls, v):
       if len(v).__gt__(15) or len(v).__lt__(3):
           raise ValueError('length must be less than 15 and great then 3')
       return v
import requests
import json

schema = {
    
    'username': 'jack', 'age': 22, 'address': 'china'}
request_body = json.dumps(schema)
# print(type(request_body))
result = requests.post('http://127.0.0.1:8000/accounts', request_body)
print(result)  # <Response [200]>
print(result.text)  # {"schema":{"username":"jack","age":22,"address":"china"}}

3.on_event 装饰器

 @app.on_event("startup")
 #  on_event()装饰器轻松地将函数注册或添加到事件。 在startup向装饰器声明应在FastAPI服务器启动之前运行的功能
  @app.on_event("shutdown")
 # FastAPI服务停止后执行的代码,如追加reload=true,修改了代码会自动重启服务,此时`INFO:     Shutting down`之后会执行shut down的代码

猜你喜欢

转载自blog.csdn.net/weixin_46248273/article/details/120175737