繁体   English   中英

获取200状态代码而不是201或204

[英]Getting 200 status code instead of 201 or 204

我正在使用Swagger 2.0创建python烧瓶后端的框架。 我在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

有任何线索,如果这是一个错误? 还是我做错了什么?

我很确定您需要在view函数中明确声明要返回的状态代码; 粗略的描述只是您的API服务器实际上并不关心的文档。 像这样的伪代码:

def image():
    if request.method == 'POST':
        if not is_valid(request.form):
            return jsonify({'errors': [...]}), 400
        # do stuff
        return jsonify({'description': 'created'}), 201

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM