RESTful API 框架 Flask-Restaction

码农软件 · 软件分类 · REST/RESTful项目 · 2019-03-10 21:59:11

软件介绍

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。

历程

2015年9月4日 - 2015年12月

项目开始
将validater作为一个独立项目
自动生成文档和res.js
添加身份验证和权限控制
重写身份验证和权限控制, 之前的用起来太繁琐

2016年1月20日 - 2月24日

重写 validater, 增强灵活性, 去除一些混乱的语法
重构 Api

  • 将权限从 Api 里面分离

  • 将自动生成工具从 Api 里面分离, 优化 res.js

  • 去除测试工具, 因为 flask 1.0 内置测试工具可以取代这个

  • 将 testing.py 改造成 res.py, 用于调用 API, 功能类似于 res.js

2016年3月 - 5月

内部项目使用 flask-restaction 框架, 项目已内测.
期间修复一些bug, 做了小的改进和优化, Api基本未变.

2016年5月 - 5月12日

完善 res.js, 对代码进行了重构和测试, 支持模块化和标准 Promise.

2016年7月 - 8月

重写 validater, 形成完善的Schema语法.
重构 flask-restaction, 使用YAML格式定义输入输出Schema.

2016年9月 - 9月12日

用NodeJS重写res.js, 支持用NodeJS和Python两种方式生成res.js.
支持生成HTML格式的API文档.

2016年10月

重构权限功能, 独立出TokenAuth, 增加灵活性和可拓展性.
Validater更名为Validr.
文档从Sphinx迁移到MKDocs,并完成出英文文档

本文地址:https://www.codercto.com/soft/d/1073.html

Practical JavaScript, DOM Scripting and Ajax Projects

Practical JavaScript, DOM Scripting and Ajax Projects

Frank Zammetti / Apress / April 16, 2007 / $44.99

http://www.amazon.com/exec/obidos/tg/detail/-/1590598164/ Book Description Practical JavaScript, DOM, and Ajax Projects is ideal for web developers already experienced in JavaScript who want to ......一起来看看 《Practical JavaScript, DOM Scripting and Ajax Projects》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器