为什么未显示响应结构?

问题描述

我将flaskFlask-RESTPlus一起使用

似乎get的响应未显示生成的json swagger文件中。

from flask import Flask,request
from flask_restplus import Api,Resource,fields
import json

flask_app = Flask(__name__)
app = Api(app = flask_app,version = "1.0",title = "test",description = "Test")

name_space = app.namespace('Actions part II',description='Teachers Actions')

model = app.model('Name Model',{'name': fields.String(required = True,description="Test",help="Test help...")})
list_of_names = {'1':'abc','2':'def','3':'ghi'}
@name_space.route("/")
class MainClass(Resource):

    @app.doc(responses={200: 'OK',400: 'Invalid Argument',500: 'Mapping Key Error'})
    def get(self):
        try:
            print(json.dumps(app.__schema__))
            return {
                "status": "Person retrieved","name" : list_of_names
            }
        except KeyError as e:
            name_space.abort(500,e.__doc__,status = "Could not retrieve information",statusCode = "500")
        except Exception as e:
            name_space.abort(400,statusCode = "400")




def main():
    flask_app.run()

if __name__ == "__main__":
    main()

以及生成的json文件

{
  "swagger": "2.0","basePath": "/","paths": {
    "/Actions part II/": {
      "get": {
        "responses": {
          "200": {
            "description": "OK"
          },"400": {
            "description": "Invalid Argument"
          },"500": {
            "description": "Mapping Key Error"
          }
        },"operationId": "get_main_class2","tags": [
          "Actions part II"
        ]
      }
    }
  },"info": {
    "title": "Amitli test flask","version": "1.0","description": "Test flask architecutre with swagger"
  },"produces": [
    "application/json"
  ],"consumes": [
    "application/json"
  ],"tags": [
    {
      "name": "Actions part II","description": "Teachers Actions"
    }
  ],"responses": {
    "ParseError": {
      "description": "When a mask can't be parsed"
    },"MaskError": {
      "description": "When any error occurs on mask"
    }
  }
}

应用程序的响应是:

{
  "status": "Person retrieved","name": {
    "1": "abc","2": "def","3": "ghi"
  }
}

但是我在json文件中找不到此结构(“状态”,“名称”)。

我想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)