在FastAPI中实现API的可复用性可以通过使用依赖项(dependencies)来实现。依赖项是在API路由处理函数执行之前运行的一些逻辑,可以用来验证、处理请求参数、鉴权等操作,从而实现代码的复用和逻辑的分离。
例如,我们可以定义一个依赖项函数来验证用户的身份信息:
from fastapi import Depends, FastAPI
app = FastAPI()
def get_current_user(token: str = Depends(get_token)):
user = decode_token(token)
return user
@app.get("/users/me")
async def read_users_me(current_user: User = Depends(get_current_user)):
return {"username": current_user.username}
在上面的例子中,get_current_user
函数依赖项函数,用来验证用户的身份信息。在路由处理函数read_users_me
中,我们通过Depends(get_current_user)
来注入依赖项函数返回的结果current_user
。
通过使用依赖项函数,我们可以将一些通用逻辑抽离出来,在不同的API路由中进行复用,提高代码的可维护性和可复用性。