使用Flask蓝图和flasg进行API版本控制

2024-09-28 23:26:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在同一个应用程序下使用两个不同的蓝图来注册不同版本的API url,例如“/v1”和“/v2”。我想防止swaggerapi文档同时获取两个端点。你知道吗

我们使用flasgger中被重写的Swagger类,其中我们希望有两个不同的API specs,每个蓝图一个。你知道吗

因为我们的一些端点在v1 API中保持不变,所以我们做了以下工作:

@api_v1.route('/foo', methods=['GET'])
@api_v2.route('/foo', methods=['GET'])
def foo():
    return v1.foo()

但是,由于两个蓝图都注册在同一个app实例下,flasger会选择这两个路由,因此它会在文档中两次显示相同的端点(一次显示“v1/”,一次显示“v2/”)。你知道吗

有没有可能让大摇大摆的人只为一个给定的规范挑选一个蓝图?你知道吗


Tags: 文档版本api应用程序urlgetfoo端点