`

flask_restful API 模块化示例

阅读更多

一、执行文件run.py

 

# -*- coding: utf-8 -*-
from exception.handler_exception import HandlerException as handler

from flask_restful import Api

app = Flask(__name__)

api = Api(app)

import app.api.route as route

route.initRoute(api)


if __name__ == '__main__':

    """这个handler处理Api异常"""
    #handler.handlerException(handler,app)
    #app.run(debug=True)

 

二、api管理 route.py

 

from app.api.resource.TestreSource import *


def initRoute(api):
    api.add_resource(Test, '/testapi',endpoint='testapi')
api.add_resource(CheckTeacher_age, '/CheckTeacher',endpoint='CheckTeacher')
    api.add_resource(CheckTeacher_name, '/CheckTeacher_name/get',endpoint='CheckTeacher_name')

  

 

三、api接口文件一TestreSource.py

 

from flask_restful import Resource

class Test(Resource):

    def get(self):
        data=[{
            "clientSn":2617484,
            "sessionTime":"2018-06-21 02:00:00",
            "contractSn":50217661
        }]
        return data


    def post(self):

        return {'hello': '梅西'}

 

 

 

CheckTeacher_age、CheckTeacher_name文件:

 

# -*- coding: utf-8 -*-
from flask_restful import Resource,marshal,fields
from app.tools.responseEntity import *
from flask import request

# 对对象进行格式化,只返回前端需要的数据
menu_fields = {
    "id": fields.String,
    "name": fields.String,
    "bolg_url": fields.String
}


class CheckTeacher_age(Resource):

    @classmethod
    def get(cls):
        stu= {
                "id": "007",
                "name": "霍元甲",
                "bolg_url": "http://xiaojingjing.iteye.com"
            }

        return stu

    def post(slef):
        id=request.json.get('id')
        name=request.json.get('name')
        stu={
            "id":id,
            "name":name
        }
        data=marshal(stu,menu_fields)
        return fullResponse(data=data,code=200,msg="查询成功")

class CheckTeacher_name(Resource):


    def get(slef):
        #get请求方式,获取rul里面的参数id
        id = request.args["id"]
        print("url中的id值为:",id)
        name = "C罗"
        stu={
            "id":id,
            "name":name
        }
        code="300"
        msg="get获取url参数id成功,id为:%s"%id

        return fullResponse(data=stu,code=code,msg=msg)

    def post(slef):
        id=request.json.get('id')
        name=request.json.get('name')
        stu={
            "id":id,
            "name":name
        }
        data=marshal(stu,menu_fields)
        return fullResponse(data=data,code=200,msg="查询成功")




 

 

格式化接口返回内容文件

 

# -*- coding: UTF-8 -*-
from flask import jsonify


def fullResponse(data='', msg='', code=0):
    if msg == '':
        return jsonify({'code': code, 'data': data})
    elif data == '':
        return jsonify({'code': code, 'msg': msg})
    else:
        return jsonify({'code': code, 'msg': msg, 'data': data})


def statusResponse(msg, code=0):
    return jsonify({'code': code, 'msg': msg})

 请求示例:

 

url:/CheckTeacher_name/get?id=568 Get

{
    "id":123,
    "name":"小明"
}

 出参:

 

{
    "code": "300",
    "data": {
        "id": "568",
        "name": "C罗"
    },
    "msg": "get获取url参数id成功,id为:568"
}

 

 

rul:/CheckTeacher_age get

出参:

 

{
    "code": 0,
    "data": {
        "bolg_url": "http://xiaojingjing.iteye.com",
        "id": "007",
        "name": "霍元甲"
    }
}

 

 

 

rul:/CheckTeacher_age post

入参:

{
    "id":123,
    "name":"小明"
}

 出参:

{
    "code": 200,
    "data": {
        "bolg_url": null,
        "id": "123",
        "name": "小明"
    },
    "msg": "查询成功"
}

 

 

分享到:
评论

相关推荐

    基于flask实现RestfulAPi.zip

    在Python Web开发中,Flask是一个...在这个“user_restful_api-master”项目中,你将深入学习到如何结合Flask和RESTful实践这些概念,创建自己的用户管理API。这将帮助你掌握Web服务开发,为未来的项目奠定坚实的基础。

    运用flask、flask-restful开发rest风格的接口,并使用蓝图增加代码的延展性和可扩展性。.zip

    总的来说,结合Flask、Flask-Restful和蓝图,你可以构建出高效、模块化的RESTful API服务,为各种Web应用提供数据接口。这样的接口既易于扩展,也便于其他开发者理解和协作。在实际开发过程中,你还可以结合数据库...

    Python库 | flask_datatables-0.6.9-py3.2.egg

    Flask是Python的一个轻量级Web服务程序,以其简洁和模块化的特性受到开发者欢迎。它允许开发者通过简单的API创建RESTful API和Web应用。Flask的核心不包括数据库、表单验证或任何其他复杂功能,但可以通过各种扩展来...

    PyPI 官网下载 | flask_autoapi-0.8.12.tar.gz

    Flask_AutoAPI的核心功能在于自动分析Flask应用的路由和视图函数,生成易于理解和使用的RESTful API文档。它通过解析注释和元数据,生成Markdown格式的文档,使得开发者和使用者都能快速理解API的使用方法和参数。 ...

    OpenBlog项目更像是一个基于flask_appbuilder开源运营框架的组织内部的文本库。.zip

    Flask是Python中最受欢迎的轻量级Web应用框架之一,以其模块化和可扩展性而闻名。Flask_AppBuilder在Flask的基础上,增加了许多用于快速开发企业级应用的特性。例如,它内置了用户认证和授权机制,开发者可以轻松地...

    Python-根据JSONAPI10规范构建RESTAPI的Flask扩展

    2. **初始化Flask应用**:创建一个新的Flask应用,并导入`flask_rest_jsonapi`模块,然后配置API的基本信息。 3. **定义数据模型**:使用SQLAlchemy或其他ORM库定义数据模型,这将与JSONAPI的资源对应。 4. **配置...

    Flask Restful Web基础框架完整代码

    这个"Flask Restful Web基础框架完整代码"可能包含了一个实现此类API的示例项目,让我们深入了解一下相关知识点。 1. **Flask基础知识** Flask是一个基于Werkzeug WSGI工具包和Jinja2模板引擎的微型Web框架。它...

    PyPI 官网下载 | flask_rest4-0.1.8.tar.gz

    Flask-REST4是Python开发Web服务的一个扩展库,它基于流行的Flask框架,并提供了构建RESTful API的强大功能。在Python的世界里,Flask是一个轻量级的Web服务器和应用程序框架,而Flask-REST4则进一步增强了其对...

    python Flask实现restful api service

    在本文中,我们将探讨如何使用Python的Flask框架构建RESTful API服务,同时结合MySQL数据库。RESTful API设计遵循六种关键特性,包括客户端-服务器分离、无状态性、可缓存、分层系统、统一接口和按需执行代码。在...

    Python的Flask框架实现一个简单的RESTful API服务

    - 使用蓝prints对大型应用进行模块化管理。 - 引入数据库,如SQLAlchemy,以持久化数据。 - 错误处理和异常捕获,提供友好的错误信息。 - 认证与授权,如使用Flask-Login或OAuth2。 - 跨站请求伪造(CSRF)防护。 - ...

    Python-几秒内就能将PostgreSQLDB暴露成RESTfulAPI

    Flask以其简洁和模块化的特性深受开发者喜爱,特别适合快速开发小到中型的Web应用。 要将PostgreSQL数据库与Flask结合,我们需要另外两个库:`flask-sqlalchemy`用于数据库操作,`flask-restful`则帮助构建RESTful ...

    flask_phonebook_rest_api_simple

    标题 "flask_phonebook_rest_api_simple" 暗示我们正在讨论一个基于 Flask 的简单电话簿 RESTful API 示例项目。Flask 是一个轻量级的 Python Web 框架,常用于构建 Web 应用和服务。REST(Representational State ...

    Python库 | Flask_Copilot-0.2.0-py2.py3-none-any.whl

    10. **后端开发**:在后端开发中,Flask-Copilot可以作为构建RESTful API或Web服务的强大工具,结合其他Flask扩展,如SQLAlchemy(ORM)和Flask-SocketIO(实时通信),可以构建出高效且灵活的应用。 总之,Flask-...

    flask-smorest:与数据库无关的框架,用于使用Flask和棉花糖构建自动记录的REST API

    5. **模块化设计**: Flask-Smorest 鼓励模块化的 API 设计,使得代码组织清晰,易于维护。 6. **测试友好**: 由于其明确的数据模型和接口定义,Flask-Smorest 使编写和执行单元测试变得简单。 ### 使用流程 1. **...

    flask-rest-api:一个简单的REST API

    通过学习和研究这个示例,你可以更好地理解如何使用Flask-RESTful构建REST API。 总之,Flask-RESTful为Python开发者提供了一种简单、灵活的方式来构建RESTful API,其轻量级的设计使得它可以很好地适应各种规模的...

    一个基于django和flask的轻量级restful工具包

    Django有`serializers`模块,Flask则有多种第三方库如`Flask-RESTful`和`Marshmallow`。 4. **身份验证和授权**:确保只有授权的用户可以访问某些API端点,这可能是通过JSON Web Token (JWT)、OAuth2等方式实现。 ...

    Python-基于Flask开发企业级API应用系列文章项目

    它的核心设计原则是“轻量级”和“模块化”,允许开发者通过安装插件和扩展来增加功能,如数据库支持、表单处理等。 2. **API开发基础**:API(Application Programming Interface)是让不同软件系统之间进行数据...

    Flask_Authentication

    Flask 是一个 WSGI(Web Server Gateway Interface)兼容的 web 开发框架,其核心设计理念是“轻量”和“模块化”。开发者可以根据需求选择不同的扩展来增强功能,例如 SQLAlchemy 用于数据库操作,Flask-SQLAlchemy...

    Python-Frest又一个Flask实现的RESTful接口框架

    在Python的世界里,Flask是一个轻量级且强大的Web应用框架,以其简洁的结构和模块化的设计深受开发者喜爱。而`Frest`则是针对Flask的一个扩展,旨在简化RESTful API的开发流程,提供更加高效和规范化的接口构建工具...

    flask开发项目源码参考

    在标签中提到的“快速搭建flask restfulapi接口”,说明源码中可能包含了一些创建RESTful API的示例,如GET、POST、PUT、DELETE等HTTP方法的路由定义。 9. **二次开发**:由于这是个个人测试版本,开发者已经实现了...

Global site tag (gtag.js) - Google Analytics