flassger Auto validation (validation=True)

Я хотел бы попросить помощи сообщества в отношении использования flashgger на python (v3). В настоящее время я использую flgger с Flask-Restplus (хотя у flask-resplus есть своя Swagger, я предпочитаю использовать flashgger). В любом случае, моя проблема - при включении "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["cancells_post"]), все работает нормально (за исключением проверки). Я имею в виду, что транзакция Post успешно завершена.

Если я установлю его в @swag_from(v1swag["cancells_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"
}

Не могли бы вы пролить свет на эту проблему, с которой я сталкиваюсь. Я все еще не могу найти ссылку, которая могла бы помочь мне решить проблему.

Спасибо всем заранее.

1 ответ

Решение

Извините, оказалось, что мне не хватало тега "схемы" для идентификации и перечисления "полей" или "тегов" для проверки.

Есть еще один вопрос о том, как создать проверку для formData, но он будет задан в другом посте.

Этот пост теперь можно закрыть.

Другие вопросы по тегам