从flask应用程序的源代码和docstring中提取swagger规范

flask-swagger-plus的Python项目详细描述


#flask swagger plus
从源代码中提取swagger规范(集成了“form”和“schema”组件)。


从棉花糖导入模式中大摇大摆地
字段

class paramsform(form):
email=stringfield()
name=stringfield()

class addressschema(schema):
street=fields.str()
state=fields.str()
country=fields.str()

class userapi(methodview):

@paramsform
@swaggerresponse(addressschema)
defpost(self):

创建新用户
--
”“
print(form.email)
print(form.name)
return{
‘street’:‘street’,
‘state’:‘state’,
“country”:“country”
}



app=flask(u name_uu)




>
>
@app.route('/swaggger.json')
despec():
return jsonify(swaggger(app))




>如果有谁在谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁在谁家,谁家,谁希望将api导出到swagger规范。
如果您更喜欢使用装饰风格的路由器注册表。
``python
@app.route('/post\u-user')
@paramsform
@swaggerresponse(addressschema)
defepost-user()

>create user
>--


return{}
````


``````/swagger.json`的json结果更喜欢
```
`````
>>>>
“定义”:{@/>“\u main\u post:addressschema”:{
“properties”:{
“country”:{
“type”:“string”
},
“state”:{
“type”:“string”
},
“street”:{
“type”:“string”
}
}
},
“info”:{
“title”:“酷产品”名称“,
”版本“:”0.0.0”
},
“路径”:{
“/users/”:{
“post”:{
“描述”:,
“参数”:[
{
“描述”:,
“in”:“formdata”,
“名称”:“email”,
“类型”:“string”
},
{
“description”:“,
“in”:“formdata”,
“name”:“name”,
“type”:“string”
}
],
“responses”:{
“200”:{
“description”:“api result”,
“schema”:{
“$ref”:“/definitions/u main_u post:addressschema”
}
}
},
“security”:[],
“summary”:“create a new user”,
“tags”:[
“u main_u”
]
}
}
}
},
“大摇大摆”:“2.0”
}
````



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
不同窗口中的java视图   java创建SQL插入语句到CSV文件   java效率检查:Opengl动画代码   在clojure中处理Java可选<T>   java理解camel中的输入/输出交换模式行为   对于使用jpackage构建的应用程序,java LSOpenURLsWithRole()失败,错误为10810   多线程Java同步:多重倒计时闩锁   java哪个类应该做这项工作?   java在运行时出现问题。getRuntime()。执行官   java我们不能在GAE中使用集合或集合作为返回类型吗?   amazon web服务返回类型与RequestHandler<Object,String>不兼容。JAVA中的HandlerRequest(对象、上下文)   如何在Java中使用ExecutorService设置任务的超时时间