引言
- Swagger是一款Restful接口的文档在线自动生成+功能测试功能软件;
- 通过swagger能够清晰、便捷地调试符合Restful规范的API;
- 在flask框架中使用的swagger即为flasgger,flasgger是flask支持的swagger UI,便于调试使用flask框架搭建的web api接口;
安装
pip3 install flasgger;
flasgger配置文件解析
@app.route('/api/<string:language>/', methods=['GET'])
def index(language):
"""
This is the language awesomeness API
Call this api passing a language name and get back its features
---
tags:
- Awesomeness Language API
parameters:
- name: language
in: path
type: string
required: true
description: The language name
- name: size
in: query
type: integer
description: size of awesomeness
responses:
500:
description: Error The language is not awesome!
200:
description: A language with its awesomeness
schema:
id: awesome
properties:
language:
type: string
description: The language name
default: Lua
features:
type: array
description: The awesomeness list
items:
type: string
default: ["perfect", "simple", "lovely"]
"""
访问http://localhost:5000/apidocs/index.html 即可看到flasgger页面
tags标签中可以放置对这个api的描述和说明;
parameters标签中可以放置这个api所需的参数,如果是GET方法,可以放置url中附带的请求参数,如果是POST方法,可以将参数放置在schema子标签下面;
in: Get请求参数的位置可以在请求的url中(path), 可以在?后面(query)
Post请求可以放在请求体(body)或是请求头(head)中, 参数放置在schema子标签下面
type: 常用的类型int, string, array, object
responses标签中可以放置返回的信息,以状态码的形式分别列出,每个状态码下可以用schema标签放置返回实体的格式;