问题描述
我将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()
{
"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"
}
}
我想念什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)