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数据未插入SQLite数据库   Java中内存有效的对象创建   java在方法内部使用“this”(不用于调用方法、构造函数或变量)   java为什么这里会出现NullPointerException?   在REST中使用HATEOAS导致的java循环依赖   java如何定制spring boot横幅?   Java数字基数计算器(即基数10到基数5)   如果在Kotlin vs Java中声明,用作全局上下文的安卓 MainApplication类将崩溃   用于过滤对象的Java lambda函数   java从字符串数组中获取整数列表   java为什么Maven找不到org。json JPMS自动模块?   java将字符串数组转换为int   仅当与阈值字节匹配时,java才会在映射中填充字符串值