Flask-Restaction

RESTful API 框架
授权协议 MIT
开发语言 Python JavaScript HTML/CSS
所属分类 Web应用开发、 REST/RESTful项目
软件类型 开源软件
地区 国产
投 递 者 卢志强
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Flask-Restaction,为RESTful API而生的Web框架:

  • 创建RESTful API

  • 校验用户输入以及将输出转化成合适的响应格式

  • 身份验证和权限控制

  • 自动生成Javascript SDK和API文档

注意:仅支持Python3.3+

安装

pip install flask-restaction

对比其它框架

flask-restful

flask-restaction 相对于 flask-restful 有什么优势,或是什么特性?

  • 输入输出校验

    restaction 是声明式的,简单明确:

    class Hello:
    
        def get(self, name):
            """
            Get welcome message
    
            $input:
                name?str&escape&default="world": Your name
            $output:
                message?str: Welcome message
            """

     

    restaction 的输出校验和输入校验一样简单,而且可以序列化任意类型的对象。

    restful 中叫做 Request Parsing:

    from flask_restful import reqparse
    
    parser = reqparse.RequestParser()
    parser.add_argument('name', type=str, help='Your name')
    args = parser.parse_args()

     

    Request Parsing 很繁琐,不能很好的重用代码。

  • 清晰的URL规则

    restaction 的 URL 规则清晰,并始终保持一致,减少了编码和阅读API文档的负担。

  • 身份验证及权限控制

    restaction 提供一个灵活的权限系统,身份验证基于 json web token, 权限验证是通过json配置文件,而不是散布在代码中的装饰器。

  • 自动生成文档和res.js

    restaction 可以自动生成文档和 res.js,用 res.js 可以方便的调用 api。

 相关资料
  • PyCharm支持Flask框架开发。 通过欢迎屏幕创建新项目,您可以轻松创建新的Flask项目。 可以设置项目的位置和虚拟环境,并选择模板语言以及模板的位置。 可以使用 Run - > Run’ ‘ 来运行项目。 也可以用这个框架添加一个新的数据源。创建一个名为的文件并添加SQL代码来创建一些表。 PyCharm编辑器会识别这些文件并要求您配置数据源并设置为数据库方言。 PyCharm会要求您选

  • 问题内容: Flask框架自然支持MVC模式吗?我应该将应用程序的哪一部分视为模型,将什么视为视图,将什么视为控制器? 通常(以我的经验),Flask应用程序如下所示: 问题答案: Flask实际上不是MVC框架。它是一个简约的框架,可让你在构建应用程序的方式上有很多自由,但是MVC模式非常适合Flask提供的功能。 本质上,你可以编写方法并将其映射到特定的路线,例如: 如你所见,那里没有视图或模

  • 问题内容: 我在Flask框架之外编写CSV没问题。但是,当我尝试从Flask编写它时,它会写入CSV,但只能写在一行上。 这是我关注的模板 这样可以完美地编写CSV,但是当我尝试使用代码时,会得到一长行。 我的代码: 我的输出: 谢谢。 编辑:我几乎尝试了所有答案,并且它们大部分都起作用,但是我选择了vectorfrog,因为它与我要完成的任务相吻合。 问题答案: 我最近做了类似的事情,发现我需

  • 本文向大家介绍python中Flask框架简单入门实例,包括了python中Flask框架简单入门实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python中Flask框架的简单用法。分享给大家供大家参考。具体如下: 使用Flask框架的简单入门范例代码,如果你正学习Flask框架,可以参考下面的启动代码,这段代码可以在网页上输出“hello world” 希望本文所述对大家的Pyt

  • 问题内容: 我想获取Flask中复选框的值。我读过一篇类似的文章,并尝试使用和的输出,因为这是我使用的列表,但看来我做错了。这是获取输出的正确方法还是有更好的方法? 问题答案: 你并不需要使用,只是如果只有一个给定名称的输入,尽管它不应该的事。你显示的内容确实有效。这是一个简单的可运行示例: 提交带有两个复选框的表单,然后在终端中打印。请注意,html表单的方法是,post因此数据将位于中。 在某

  • 本文向大家介绍Python的Flask框架中@app.route的用法教程,包括了Python的Flask框架中@app.route的用法教程的使用技巧和注意事项,需要的朋友参考一下 在我上一篇文章,我搭了一个框架,模拟了Flask网站上“@app.route(‘/')”第一条例子的行为。 如果你错过了那篇“这不是魔法”,请点击这里。 在这篇文章中,我们打算稍微调高点难度,为我们的URL加入可变参

  • 本文向大家介绍Python flask框架端口失效解决方案,包括了Python flask框架端口失效解决方案的使用技巧和注意事项,需要的朋友参考一下 大家可能有这样的体验,好比在程序里面我明明写了app.run(port=8001),结果程序还是在5000端口输出,我们右键点击py程序,直接运行。 可以看到,端口为5000 这时候我们要做的是点击以下图标 进入页面,填入如下内容,点击ok,再点击

  • 本文向大家介绍Python Web框架Flask信号机制(signals)介绍,包括了Python Web框架Flask信号机制(signals)介绍的使用技巧和注意事项,需要的朋友参考一下 信号(signals) Flask信号(signals, or event hooking)允许特定的发送端通知订阅者发生了什么(既然知道发生了什么,那我们可以知道接下来该做什么了)。 Flask提供了一些信