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, но он будет задан в другом посте.
Этот пост теперь можно закрыть.