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://codercto.com/soft/d/1073.html

组合数学教程

组合数学教程

范林特 / 刘振宏、赵振江 / 机械工业出版社 / 2007-4 / 49.00元

本书介绍组合数学中的基础理论和实际应用,讲述的内容非常广泛,讨论的问题涵盖组合数学所涉及的绝大部分领域。本书不仅包含了通常组合数学教科书中的经典内容,而且收集了若干新的内容,如Lovász筛法、范德瓦尔登积和式猜想、结合区组设计、码和设计等。 本书阐述深入浅出,简明易懂,适合作为高等院校高年级本科生与低年级研究生的组合数学课程教材,也适合作为数学和其他学科的研究人员的参考书。一起来看看 《组合数学教程》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具