5 ResponseModel響應模型

2022-09-07 23:00:30 字數 1449 閱讀 9042

class userin(basemodel):

username: str

password: str

email: emailstr

mobile: str = "10086"

address: str = none

full_name: optional[str] = none

class userout(basemodel):

username: str

email: emailstr # 用 emailstr 需要 pip install pydantic[email]

mobile: str = "10086"

address: str = none

full_name: optional[str] = none

users = ,

"user02":

}async def response_model(user: userin):

"""response_model_exclude_unset=true 表示預設值不包含在響應中,僅包含實際給的值,如果實際給的值與預設值相同也會包含在響應中

response_model: 使用哪個返回模型

"""print(user.password) # password不會被返回

# return user

return users["user01"]

"/response_model/attributes",

response_model=userout,

# response_model=union[userin, userout], # 使用兩個模型類的並集

# response_model=list[userout], # 列表裡面的任意乙個響應模型類都可以

response_model_include=["username", "email", "mobile"],

response_model_exclude=["mobile"]

)async def response_model_attributes(user: userin):

"""response_model_include列出需要在返回結果中包含的字段;

response_model_exclude列出需要在返回結果中排除的字段

"""# del user.password # union[userin, userout]後,刪除password屬性也能返回成功

5 Singleton Pattern 單例模式

單例模式主要符合單一職能原則。當乙個類的職責是一定的,而且整個程式中不需要生成第二個此類的物件,而且如果生成第二個此類的物件的話還會有問題 比如我之前寫的聯棋遊戲,裡面的棋盤就應該始終只有乙個物件,如果有兩個會造成混亂 為了防止生成兩個物件,而且節約記憶體,會使用單例模式。使用單例模式的典型場景比如...

5 thinkphp5請求和響應 請求

request物件的作用是與客戶端互動,收集客戶端的form cookies 超連結,或者收集伺服器端的環境變數。request物件是從客戶端向伺服器發出請求,包括使用者提交的資訊以及客戶端的一些資訊。客戶端可通過html表單或在網頁位址後面提供引數的方法提交資料,然後通過request物件的相關方...

ThinkPHP5 響應輸出 03

重定向 可以使用redirect助手函式進行重定向 class index redirect函式和控制器的redirect方法的引數順序有所區別 重定向傳參 如果是站內重定向的話,可以支援url組裝,有兩種方式組裝url,第一種是直接使用完整位址 打頭 redirect index index he...