我开始使用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?
我需要将字符串分割成相等大小的块(如果不能将字符串长度除以余数,则最后一个块可以更小)。
假设我有一个包含2000个字符的字符串。我想将此字符串分割成等长的500个字符的块,因此最终得到4个500个字符的字符串。
当初始字符串的长度和块大小都不固定时,如何在Lua中完成此操作?
例
字符串:“ 0123456789”(长度= 10)应分为3个字符的字符串
结果:“ 012”,“ 345”,“ 678”,“ 9”
(结果是在表中还是由迭代器返回都没有关系)