相关疑难解决方法(0)

在flask中支持多个API版本

我开始使用Flask和Python设计RESTful Web服务,我想知道如何在同一个项目中支持多个API版本.我正在考虑将请求的API版本放在URL中,如下所示:

/myapp/v1/Users
Run Code Online (Sandbox Code Playgroud)

一段时间后,我想在API的1.1版中添加另一个端点,并保留v1中没有改变的所有内容:

/myapp/v1.1/Users   <= Same as in v1
/myapp/v1.1/Books
Run Code Online (Sandbox Code Playgroud)

在v2中,"Users"-endpoint被更改:

/myapp/v2/Users   <= Changed in v2
/myapp/v2/Books   <= Same as in v1.1
Run Code Online (Sandbox Code Playgroud)

等等...

看看这个问题,最简单的方法可能是这样的:

@app.route('/<version>/users')
def users(version):
    # do something
    return jsonify(response)
Run Code Online (Sandbox Code Playgroud)

但我可以想象,每个新的API版本都会越难维护.因此,我想知道是否有更好的(=更容易维护和更好的结构化)方法来实现这个与Flask?

python flask

45
推荐指数
1
解决办法
2万
查看次数

标签 统计

flask ×1

python ×1