如何解决为什么未显示响应结构?
我将flask
与Flask-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 举报,一经查实,本站将立刻删除。