我想向社区寻求有关在python上使用flasgger的帮助(v3) 目前我正在使用带有Flask-Restplus的闪光灯(尽管烧瓶重新装上了它自己的Swagger,我更喜欢使用闪光灯)。 无论如何,我的问题是当打开" validation = True"在@swag_from。 这是我的代码片段。
Python代码:
@api.route("/v1/cancels")
class Cancels(Resource):
@swag_from(v1swag["cancels_post"], validation=True)
def post(self):
token = request.form.get("token")
<...>
message = {
"message": "ok",
"token": token
}
return jsonify(message)
Swagger(json)
v1swag = {
"cancels_post": {
"tags": ["/api/v1"],
"parameters": [
{
"name": "token",
"in": "body",
"required": True,
"description": "Cancels the provided token."
}
],
"responses": {
"200": {
"description": "Success!",
}
}
}
}
问题是如果只使用@swag_from(v1swag [&#34; cancels_post&#34;]),一切正常(验证除外)。我的意思是Post事务成功完成。
如果我将它设置为@swag_from(v1swag [&#34; cancels_post&#34;],validation = True) 我明白了......
Response Body
{
"message": "The browser (or proxy) sent a request that this server could not understand."
}
Response Code
400
我也试过
"in": "formData"
但得到了这些
Response Body
No data to validate
Response Code
500
Response Headers
{
"access-control-allow-origin": "http://192.168.1.236:4000",
"date": "Fri, 14 Jul 2017 08:58:19 GMT",
"server": "gunicorn/19.7.1",
"connection": "keep-alive",
"content-length": "19",
"vary": "Origin",
"content-type": "text/html; charset=utf-8"
}
请您谈谈我面临的这个问题。我仍然无法找到可以帮助我解决问题的链接。
提前感谢大家。
答案 0 :(得分:0)
很抱歉,事实证明我错过了&#34;架构&#34;标记以识别和枚举&#34;字段&#34;或&#34;标签&#34;验证。
有关于如何为formData创建验证的另一个问题,但会在另一篇文章中询问。
现在可以关闭此帖子了。