zoukankan      html  css  js  c++  java
  • FlaskRESTful之入门

    安装模块

    pip install flask_restful

    入门使用

    使用步骤:

    1. 导包

    # 1. 导包
    from flask_restful import Api, Resource

    2. 创建api对象并接管app

    # 2. 创建API对象并接管app
    api = Api(app)

    3. 创建类视图

    # 3. 定义类视图
    class IndexResource(Resource):
        def get(self):
            return 'index'

    4. 使用api对象给类视图添加路由

    # 4. 使用api对象添加路由
    api.add_resource(IndexResource, '/')

    案例代码:

    from flask import Flask
    # 1. 导包
    from flask_restful import Api, Resource
    
    app = Flask(__name__)
    
    # 2. 创建API对象并接管app
    api = Api(app)
    
    
    # 3. 定义类视图
    class IndexResource(Resource):
        def get(self):
            return 'index'
    
    # 4. 使用api对象添加路由
    api.add_resource(IndexResource, '/')
    
    if __name__ == '__main__':
        app.run()

    结合蓝图使用

    使用步骤:

    1. 导包

    # 1. 导包
    from flask_restful import Api, Resource
    from flask.blueprints import Blueprint

    2. 创建蓝图对象

    3. 创建api对象并接管蓝图

    # 2. 创建蓝图对象,并使用API对象接管蓝图
    bule_prin = Blueprint('flask_blueprint', __name__)
    api = Api(bule_prin)

    4. 定义类视图

    5. 使用api对象给类视图添加路由

    # 3. 定义试图,并使用API对象添加路由
    class IndexResource(Resource):
        def get(self):
            return 'index'
    api.add_resource(IndexResource, '/')

    6. 注册蓝图

    # 4.将蓝图注册到app中
    app.register_blueprint(bule_prin)

    案例代码:

    from flask import Flask
    # 1. 导包
    from flask_restful import Api, Resource
    from flask.blueprints import Blueprint
    
    app = Flask(__name__)
    
    # 2. 创建蓝图对象,并使用API对象接管蓝图
    bule_prin = Blueprint('flask_blueprint', __name__)
    api = Api(bule_prin)
    
    
    # 3. 定义试图,并使用API对象添加路由
    class IndexResource(Resource):
        def get(self):
            return 'index'
    api.add_resource(IndexResource, '/')
    
    # 4.将蓝图注册到app中
    app.register_blueprint(bule_prin)
    
    if __name__ == '__main__':
        app.run()

    结合装饰器使用

    使用步骤:

    1. 导包

    from flask_restful import Api, Resource

    2. 创建api对象并接管app

    api = Api(app)

    3. 编写装饰器

    # 2. 定义装饰器
    def outter(func):
        def inner(*args, **kwargs):
            ret = func(*args, **kwargs)
            return '{} decorators....'.format(ret)
        return inner

    4. 定义类视图指定请求方法的装饰器,并使用api给类视图添加路由

    # 1. 定义类视图,并设置路由
    class IndexResource(Resource):
        # 为所有请求方法都添加装饰器
        # method_decorators = [outter]
    
        # 为指定方法添加装饰器
        method_decorators = {
            'get': [outter]
        }
    
        def get(self):
            return 'get ...'
    
        def post(self):
            return 'post ...'
    
    api.add_resource(IndexResource, '/')

    装饰器的指定方式:

    1. 给所有请求方法都添加装饰器

    # 为所有请求方法都添加装饰器
        method_decorators = [outter]

    2. 给指定的请求方法添加装饰器

        # 为指定方法添加装饰器
        method_decorators = {
            'get': [outter]
        }

    案例代码:

    from flask import Flask
    from flask_restful import Api, Resource
    app = Flask(__name__)
    api = Api(app)
    
    # 2. 定义装饰器
    def outter(func):
        def inner(*args, **kwargs):
            ret = func(*args, **kwargs)
            return '{} decorators....'.format(ret)
        return inner
    
    
    # 1. 定义类视图,并设置路由
    class IndexResource(Resource):
        # 为所有请求方法都添加装饰器
        # method_decorators = [outter]
    
        # 为指定方法添加装饰器
        method_decorators = {
            'get': [outter]
        }
    
        def get(self):
            return 'get ...'
    
        def post(self):
            return 'post ...'
    
    api.add_resource(IndexResource, '/')
    
    if __name__ == '__main__':
        app.run()
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    Greenplum使用简明手册
    VMware虚拟机下实现Linux与window文件夹共享
    SSH实现在WIN7系统下访问虚拟机中的Linux系统
    转_Greenplum 数据库安装部署(生产环境)
    政府大数据平台定位(转)
    国内外政府大数据六大典型应用
    从数据仓库到大数据,数据平台这25年是怎样进化的?
    转_【大话IT】你离大数据架构师有多远?
    js时间格式化和相互转换
    矢量图(字体图标)
  • 原文地址:https://www.cnblogs.com/chao666/p/12403229.html
Copyright © 2011-2022 走看看