2017-07-14 208 views
0

我想向社区寻求关于在python上使用flasgger的帮助(v3) 目前我使用Flask-Restplus的Flasgger(尽管flask-resplus确实有它自己的Swagger,我更喜欢使用flasgger)。 无论如何,我的问题是在@swag_from中打开“validation = True”时。 这里是我的代码片段。flassger自动验证(验证=真)

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) 

扬鞭(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 [ “cancels_post”]),一切工作正常(除验证)。我的意思是邮政交易成功完成。

如果我将它设置为@swag_from(v1swag [ “cancels_post”],确认= 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

对不起,原来我错过了“模式”标签来识别和枚举“字段”或“标签”来验证。

还有一个关于如何为formData创建验证的问题,但会在另一个帖子上询问。

该帖子现在可以关闭。