我想向社区寻求有关在 python (v3) 上使用 flasgger 的帮助目前我正在将 flasgger 与 Flask-Restplus 一起使用(尽管 flask-resplus 确实有它自己的 Swagger,但我更喜欢使用 flasgger)。无论如何,我的问题是在@swag_from 中打开“validation=True”时。这是我的代码片段。
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"]),一切正常(验证除外)。我的意思是 Post 交易成功完成。
如果我将其设置为 @swag_from(v1swag["cancels_post"], 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"
}
您能否对我面临的这个问题有所了解。我仍然找不到可以帮助我解决问题的链接。
提前谢谢大家。