2017-07-14 91 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創建驗證的問題,但會在另一個帖子上詢問。

該帖子現在可以關閉。