前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue + Flask 实战开发系列(五)

Vue + Flask 实战开发系列(五)

作者头像
TalkPython
发布2020-06-28 16:02:41
1.8K0
发布2020-06-28 16:02:41
举报
文章被收录于专栏:TalkPythonTalkPython

接口开发完成以后,并不代表编程就结束了。因为接口会被很多个客户端所使用,例如:Web端,Android端,iOS端,小程序端等。因此这也就表示接口会被其他开发人员所使用,集成API文档是非常的必要。API文档是一个REST的应用程序的重要组成部分。

环境准备与集成

在这一部分,我们主要来完成为集成API文档工作。用的Flask扩展包是下面这两个,你可以提前安装。

代码语言:javascript
复制
$(venv) pip install flask_swagger$(venv) pip install flask_swagger_ui

安装完成之后,让我们把它集成到应用程序中。首先,打开main.py文件,编写一个接口文档的路由,增加如下程序。

代码语言:javascript
复制

from flask_swagger import swagger
from flask import jsonify

@app.route("/api/spec")
def spec():
    swag = swagger(app,prefix='/api')
    swag['info']['base'] = "http://locahost:5000"
    swag['info']['version'] = "1.0"
    swag['info']['title'] = 'Flask API Docs'
    return jsonify(swag)

程序编写完成后,继续打开app/init.py文件,添加如下代码程序。

代码语言:javascript
复制

from flask_swagger_ui import get_swaggerui_blueprint

# 下面两行程序,添加到register_blueprints函数中
swaggerui_blueprint = get_swaggerui_blueprint('/api/docs','/api/spec',config={'app_name':'Flask API Docs'})
app.register_blueprint(swaggerui_blueprint,url_prefix='/api/docs')

以上程序都编写完成后,运行我们的Flask应用。

代码语言:javascript
复制
$(venv)flask run

应用运行程序成功后,在浏览器访问地址http://localhost:5000/api/docs/,一切正常的话,就会看到下面这样的内容。

编写API文档

接口文档信息,我们这里使用yaml格式来写。采用注释的方法,写在每一个接口函数里面。具体来看一个实例。下面这个实例是注册用户接口的接口文档。打开app/users/routes.py文件,编写程序。最终编写完成的程序,见下面:

代码语言:javascript
复制

@users_bp.route('/register', methods=['POST'])
def create_user():
    """
    用户注册接口
    ---
    parameters:
        - in: body
          name: body
          schema:
            required:
                - username
                - password
            properties:
                username:
                    type: string
                    description: 用户名
                    default: ""
                password:
                    type: string
                    description: 用户密码
                    default: ""
    responses:
        201:
            description: 注册成功
            schema:
                properties:
                    code:
                        type: string
        422:
            description: 注册失败
            schema:
                properties:
                    code:
                        type: string
                    message:
                        type: string
    """
    try:
        data = request.get_json()
        data['password'] = User.generate_hash(data['password'])
        user_schema = UserSchema()
        users = user_schema.load(data)
        result = user_schema.dump(users.create())
        return response_with(resp.SUCCESS_201)
    except Exception as e:
        print(e)
        return response_with(resp.INVALID_INPUT_422)

上面程序中注释部分,就是我们写的接口文档。这时你运行程序,就可以看到我们的编写的接口文档相信。

代码语言:javascript
复制
$(venv) flask run

Flask应用运行成功后,访问接口文档地址:http://127.0.0.1:5000/api/docs/。最终看到下面的结果,就说明成功了。

在这里我们可以到接口的注册用户接口的请求地址、请求参数、响应结果等信息。其他的接口也是这样的方法进行增加,在此不再赘述。本次分享的全部内容,全文至此完。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TalkPython 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境准备与集成
  • 编写API文档
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档