FastAPI的API接口开发基础学习
·
FastAPI:一个python的web框架
下载方式
pip install fastapi uvicorn
示例
from fastapi import FastAPI
# 创建 FastAPI 实例
app = FastAPI(title="简单API", version="1.0")
# ---------- 定义数据模型 ----------
class User(BaseModel):
id:str
name: str
price: float
#模拟数据库
users=[]
#路由
@app.get("/") #一个路由对应一个功能,下方函数返回什么内容,该路由即接受什么内容
def root():
return {"message": "Hello FastAPI"}
访问该路由

查数据和增加数据
#获取数据
@app.get("/user",response_model=list[User]) #用User的数据模型,按照list[]形式
def get_users():
return users #返回数据库内容
#传数据,JSON格式
@app.post("/user",response_model=User) #用User的数据模型
def create_users(user:User):
users.append(user.dict()) #将客户端传输的格式按照要求格式进行,加入数据库
return user #返回数据库内容
更新和删除数据
#更新数据
@app.put("/user/{user_id}",response_model=User)
def update_users(user_id:int,user:User):
for index,existing_user in enumerate(users):
if existing_user.id == user_id:
users[index]=user.dict()
return {"message":"User deleted"}
raise HTTPException(status_code=404,detail="User not found")
#删除数据
@app.delete("/user/{user_id}")
def delete_users(user_id:int):
for index,existing_user in enumerate(users):
if existing_user.id == user_id:
users.pop(index)
return {"message":"User deleted"}
raise HTTPException(status_code=404,detail="User not found")
enumerate(users) 是什么?
-
enumerate(users)是 Python 内置函数,它会同时生成两个值:-
索引(从 0 开始递增)
-
当前元素(即列表中的用户对象)
-
-
第一次迭代:
index = 0,existing_user = users[0]
第二次迭代:index = 1,existing_user = users[1]
GET/POST/PUT/DELETE /users 路由接口
response_model 指定返回类型
生成API文档
fastapi基于openapi,自动生成api文档
访问 http://127.0.0.1:8000/docs 可在浏览器测试api

http://127.0.0.1:8000/redoc 适合看api结构和参数

注:个人学习记录,如有问题可指正
更多推荐


所有评论(0)