我正在用 python (3.x) 和瓶子实现一个简单的 web 应用程序。由于我想公开的 API 将来可能会发生变化,所以我想增加拥有不同版本的可能性。
关于这个主题,这里有一些有见地的答案,但除非 Web API 的版本控制被证明是一个坏主意,否则我还是想尝试一下。
关于我的应用程序:例如,虽然 1.0 版允许通过以下调用POST /resource
:
@post('/resource')
post_item(name=item_name, value=item_value)
未来的版本可能会:
@post('/resource')
post_item(name=item_name, value=item_value, fullname=longer_item_name)
为简单起见,假设关键字参数 'name'、'value'、'fullname' 来自 FROM 数据字段:
<input name="name" type="text" />
现在,首先想到的是version
在开头插入一个参数,类似于IP对其标头所做的事情:
post_item(v=1, name=item_name, value=item_value)
post_item(v=2, name=item_name, value=item_value, fullname=longer_item_name)
不过,这似乎有点麻烦。有没有任何网络微框架库可以帮助解决这个问题?我是否超出了微框架的功能?