FastAPI 响应体模型及校验
- response_model 响应模型 
- response_model_exclude_unset=True 不传递,不返回默认值 
- status_code 响应状态吗 
# coding: utf8
from fastapi import FastAPI,Body,status
from pydantic import BaseModel
from typing import Optional
app = FastAPI()
class UserIn(BaseModel):
    username: str
    password: str = Body(..., min_length=6, max_length=100)
    email: str
    full_name: Optional[str] = None
class UserOut(BaseModel):
    username: str
    email: str
    full_name: Optional[str] = None
@app.post('/user', response_model=UserOut,  response_model_exclude_unset=True, status_code=status.HTTP_201_CREATED)
async def create_user(user: UserIn):
    return user
# # 启动: uvicorn main:app --reload- http的状态码 - 100 及以上状态码用于「消息」响应。你很少直接使用它们。具有这些状态代码的响应不能带有响应体。 
- 200 及以上状态码用于「成功」响应。这些是你最常使用的。 
- 200 是默认状态代码,它表示一切「正常」。 
- 201 「已创建」。它通常在数据库中创建了一条新记录后使用。 
- 204 「无内容」。此响应在没有内容返回给客户端时使用,因此该响应不能包含响应体。 
- 300 用于「重定向」。具有这些状态码的响应可能有或者可能没有响应体, 
- 304 重定向, 该响应不得含有响应体。 
- 400 客户端的一般错误 
- 404 用于「未找到」响应。 
- 500 及以上状态码用于服务器端错误。你几乎永远不会直接使用它们。当你的应用程序代码或服务器中的某些部分出现问题时,它将自动返回这些状态代码之一。 
 
Last updated