fastapi入门五处理异常
"""
@File : fastapiOne.py
@Desciption:
"""
import uvicorn
from fastapi import FastAPI, HTTPException, Query
app = FastAPI()
people_id_str = {"1": "2"}
people_id_int = [1, 2, 3, 4, 5]
@app.post("/fastapi/{people_idone}")
async def postdate(
people_idone: int,
people_id_three: str = Query("1")
):
if people_idone not in people_id_int:
raise HTTPException(status_code=400, detail="people_idone不在范围里",headers={"nice":"what"})
# 如果people_idone不在列表people_id_int里,那就报错400,并新增一个headers
if people_id_three not in people_id_str:
raise HTTPException(status_code=401, detail="people_id_three不在范围里")
# 如果people_id_three不在people_id_str里,那就报错401
return {"people_id": people_idone, "people_id_three": people_id_str[people_id_three]}
if __name__ == "__main__":
uvicorn.run(app='fastapiOne:app', host='127.0.0.1', port=8100, reload=True, debug=True)
请求(people_idone不符合要求)
http://127.0.0.1:8100/fastapi/6?people_id_three=1
返回信息
{
"detail": "people_idone不在范围里"
}
请求(people_id_three不符合要求)
http://127.0.0.1:8100/fastapi/4?people_id_three=4
返回信息
{
"detail": "people_id_three不在范围里"
}
请求(全部符合要求)
http://127.0.0.1:8100/fastapi/1?people_id_three=1
返回信息
{
"people_id": 1,
"people_id_three": "2"
}