我正在使用Swagger 2.0来创建python-flask后端的框架。
我在Swagger在线编辑器上声明POST /image
端点如下:
/image:
post:
summary: "Description."
operationId: "image_post"
consumes:
- "multipart/form-data"
parameters:
- in: "formData"
name: "upfile"
description: "The file to upload."
required: true
type: "file"
responses:
201:
description: "Ok"
schema:
type: "string"
400:
description: "bad image"
x-swagger-router-controller: "swagger_server.controllers.default_controller"
下载python-flask
服务器后,我使用命令python -m swagger_server
运行它。通过邮递员发送帖子请求时,我得到状态代码为200
而不是201
。它还在运行服务器的命令行上显示200
。
如果这是一个错误的任何线索?或者我做错了什么?
答案 0 :(得分:0)
我非常确定您需要在视图函数中明确声明要返回的状态代码;招摇的描述只是您的API服务器实际上并不关心的文档。像这样的伪代码:
def image():
if request.method == 'POST':
if not is_valid(request.form):
return jsonify({'errors': [...]}), 400
# do stuff
return jsonify({'description': 'created'}), 201