文章目录
- desc
- Flask
- Flask-SQLAlchemy
- flasgger
desc
考虑到开发的便捷性、生态的丰富程度,用Flask、Flask-SQLAlchemy、flasgger等编写一套简单易用的接口平台
这里记录以下这几个组件的使用方式
Flask
轻量、灵活,相比Django不用遵循太多的开发规范
Flask-SQLAlchemy
数据库物理层–逻辑层映射,一套逻辑适应多种数据库。简化SQL开发,避免重复编写过多的SQL;避免SQL注入风险等
flasgger
用过java swagger的话,理解这个就很快了,在代码中编写好接口文档,就可以在http://localhost:5000/apidocs上浏览接口文档,同时可以进行简单的接口测试
我这里用的是在代码中添加文档模板的方式去记录接口文档
"""Example endpoint returning a list of colors by palette
This is using docstrings for specifications.
---
parameters:
- name: palette
in: path
type: string
enum: ['all', 'rgb', 'cmyk']
required: true
default: all
definitions:
Palette:
type: object
properties:
palette_name:
type: array
items:
$ref: '#/definitions/Color'
Color:
type: string
responses:
200:
description: A list of colors (may be filtered by palette)
schema:
$ref: '#/definitions/Palette'
examples:
rgb: ['red', 'green', 'blue']
"""
用官方文档中的示例进行分析,
对于状态码为200的响应:
description
描述为“A list of colors (may be filtered by palette)”。
schema
响应的数据结构遵循Palette定义($ref: ‘#/definitions/Palette’)。
example
提供了一个响应示例,其中rgb对应于[‘red’, ‘green’, ‘blue’]。
后续更新…