swagger.example
在swagger頁面顯示example
class QueryWithWhereStringBody(BaseModel):
qWhere: str
@app.post("/queryWithWhereString")
def query_with_where_string(
query_body: QueryWithWhereStringBody = Body(
examples={
"1data": {
"summary": "1data",
"description": "查獲指定一筆",
"value": {
"qWhere": "ID='xxxxx'"
}
}
}
)
):
...
撰寫過程突然遇上的錯誤
TypeError: Body() missing 1 required positional argument: 'default'
很莫名其妙的東西,另個專案沒有寫那個「default」也可以正常運作,現在卻非要我寫...
他在swagger頁面上不會看到,執行時如果沒有傳入任何參數就會預設使用他。
但其實如果沒有任何帶入,通常是需要被判斷出來的,可以設置為default=None,延用「is None」判斷去處理。
class DemoP(BaseModel):
name: str
@app.post("/demo")
def demo(
demo_p: DemoP = Body(
default=None,
examples={
"demo1": {
"summary": "範例",
"description": "範例說明",
"value": {"name": "DEMO1"}
}
}
)
):
try:
print(demo_p)
result = {}
return result
except Exception as e:
raise catch(e)
參考 https://fastapi.tiangolo.com/tutorial/schema-extra-example/
Last updated