如何在FastAPI中通过独立端点输出已配置的应用版本?
解决FastAPI版本端点获取问题
你可以通过两种方式实现需求:
方法一:直接复用FastAPI实例的version属性
你初始化FastAPI时传入的version参数会被存储在app实例的version属性中,只需要移除前缀的"v"就能得到期望的格式:
from fastapi import FastAPI app = FastAPI(version="v0.1.0.0") @app.get("/v0/version") async def api_version(): # 去除版本字符串开头的"v"字符 return {"version": app.version.lstrip("v")}
方法二:单独定义版本变量(更易维护)
把版本号抽成独立变量,初始化和接口返回都复用这个变量,后续修改版本只需要改一处,更规范:
from fastapi import FastAPI # 定义不带前缀的版本号 APP_VERSION = "0.1.0.0" # 初始化FastAPI时添加前缀"v" app = FastAPI(version=f"v{APP_VERSION}") @app.get("/v0/version") async def api_version(): return {"version": APP_VERSION}
两种方法都能返回你需要的结果:{"version": "0.1.0.0"}
内容的提问来源于stack exchange,提问作者Rui Nian
相关产品推荐
相关产品推荐

