flasked是一个创建api-rest的包,甚至比flask-restful更容易。

flasked的Python项目详细描述


flasked是一个旨在简化rest api创建的包。它使用 背景。

https://badge.fury.io/py/flasked.svg

示例

如何更快地创建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”的字典。 否则,它将用作初始值设定项的argskwargs的源。最好用第二种方法和第三种方法混合使用。

此包装与瓶装酒完全兼容。有关详细信息,请检查Flask_Restful

手动测试

如果要手动测试api rest,这里有一个关于如何进行测试的解释。

许可证

它是根据mit许可证发布的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在MySql中创建类似序列的东西   intellij idea Java错误在命令窗口中运行简单程序时发生JNI错误   使用JavaBrains中的代码时出现java异常   java如何调用父重写方法   java JavaFx:使用加法/乘法双向绑定数字/   java如何使用文件以特定的方式打印目录树。newDirectoryStream和递归?   java图形未显示在JFrame上   扫描仪上的java NoTouchElementException。下一行()   java中jenkins中显示的api访问Fitnesse结果   JavaGMF以编程方式创建连接,而不使用命令   java什么从unity3d发送json   在Java中模仿PHP http_build_查询函数   安卓中的java转储内存   在java中解析如何从字符串中读取第二行   java OutputLength Rijndael实现中的异常   Java右移输出负值   java多选项,选择最佳?   JavaSwingGUI在Java1.8更新后不刷新或冻结   java使用jpa查询将datetime字段与日期进行比较