flasked是一个创建api-rest的包,甚至比flask-restful更容易。
flasked的Python项目详细描述
flasked是一个旨在简化rest api创建的包。它使用 背景。
示例
如何更快地创建restful api?
fromflaskedimportFlaskedclassRoot():defget(self):return"This is the result"flasked=Flasked()flasked["/"]=Rootflasked.run()
安装
仅支持python 3.4.1以后的版本:
sudo pip3 install flasked
说明
flasked的行为类似于python的dict;因此,为了创建更多的入口点,只需要指定 使用管理路由的类进行路由。示例:
flasked["/"]=RouteRootflasked["/route2/"]=Route2flasked["/route2/<variable>/"]=Route3
可用的路由可以用与python的dict相同的方式迭代:
print(list(flasked.keys()))forrouteinflasked:print(route)forroute,clsinflasked.items():print("{}: {}".format(route,cls))
管理路由的类不需要从任何特殊类继承,因为flasked能够管理它们。 尽管如此,它们可以访问Resource类(来自Flask_Restful)拥有的所有方法和属性。
http方法被定义为处理它的类中的方法:
classRoot():defget(self):return{"result":"result for GET"}defpost(self):return{"result":"result for POST"}defdelete(self):return{"result":"result for DELETE"}
此外,当在条目url中定义变量时,类方法需要反映它:
classRoute3():defget(self,variable):returnvariableflasked["/route2/<variable>/"]=Route3
为了运行flask,只需要执行run()方法。它的参数与flask a p p run()的参数相同
flasked.run(host="0.0.0.0",port=2234,threaded=True,debug=False)
flasked对象可以直接访问flaskeful api对象和flask original app对象
# Flask_Restful API objectapi=flasked.api# Flask API objectflask_app=flasked.flask_app
高级
如果管理路由的类需要在构造函数中注入参数,可以通过以下方式完成:
classRoute():def__init__(self,argument1,argument2):self.argument1=argument1self.argument2=argument2defget(self,variable):returnvariable# The following 3 lines do the same:flasked["/"]=Route,argument1,argument2# First wayflasked["/"]=Route,{'args':[argument1,argument2]}# Second wayflasked["/"]=Route,{'kwargs':dict(argument1=argument1,argument2=argument2)}# third way
重要:注意,如果采用第一种方法,则参数1不能是包含关键字“args”或“kwargs”的字典。 否则,它将用作初始值设定项的args和kwargs的源。最好用第二种方法和第三种方法混合使用。
此包装与瓶装酒完全兼容。有关详细信息,请检查Flask_Restful。
手动测试
如果要手动测试api rest,这里有一个关于如何进行测试的解释。
许可证
它是根据mit许可证发布的。