得到200个状态码而不是201或204

2024-04-23 21:40:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用swagger2.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,而不是{}。它还在运行服务器的命令行上显示200。在

如果这是个窃听器,有什么线索吗?还是我做错了什么?在


Tags: image服务器框架声明flaskservertypeswagger
1条回答
网友
1楼 · 发布于 2024-04-23 21:40:45

我确信您需要显式地声明您希望在view函数中返回的状态代码;swagger描述只是API服务器实际上并不关心的文档。类似这样的伪代码:

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

相关问题 更多 >