获取 200 状态码而不是 201 或 204
Getting 200 status code instead of 201 or 204
我正在使用 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
它。通过 postman 发送 post 请求时,我得到状态代码是 200
而不是 201
。它还在服务器 运行ning.
的命令行上显示 200
如果这是一个错误,有什么线索吗?还是我做错了什么?
我很确定您需要在视图函数中显式声明要 return 的状态码;大摇大摆的描述只是您的 API 服务器实际上并不关心的文档。像这样的伪代码:
def image():
if request.method == 'POST':
if not is_valid(request.form):
return jsonify({'errors': [...]}), 400
# do stuff
return jsonify({'description': 'created'}), 201
我正在使用 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
它。通过 postman 发送 post 请求时,我得到状态代码是 200
而不是 201
。它还在服务器 运行ning.
200
如果这是一个错误,有什么线索吗?还是我做错了什么?
我很确定您需要在视图函数中显式声明要 return 的状态码;大摇大摆的描述只是您的 API 服务器实际上并不关心的文档。像这样的伪代码:
def image():
if request.method == 'POST':
if not is_valid(request.form):
return jsonify({'errors': [...]}), 400
# do stuff
return jsonify({'description': 'created'}), 201