Python Connexion: автоматически проверять заголовок Accept - PullRequest
0 голосов
/ 15 октября 2018

Я использую инфраструктуру Connexion для моего проекта Python Flask.В спецификации API (используя формат файла yaml) я определил поле «потребляет» и «производит» следующим образом:

produces:
   - application/json
consumes:
   - application/json

Документация Connexion говорит, что Connexion автоматически проверяет запрос на основев спецификации API, поэтому я подумал, что он автоматически проверит, что входящие заголовки «Accept» (или «Content-Type») будут соответствовать «application / json», используя приведенные выше данные в качестве примера.

Однако, похоже, это не так.Если я опущу заголовок Accept и Content-Type или добавлю их со случайными значениями, предупреждений, ошибок или чего-либо еще не будет.

Получали ли другие пользователи Connexion Connexion для проверки данных типов носителей?Или вы обрабатываете это явно в своем коде?

РЕДАКТИРОВАТЬ: похоже, этот отчет об ошибке решает эту проблему.

1 Ответ

0 голосов
/ 04 апреля 2019

Я использую версии:

  • connexion == 1.5.3 swagger
  • spec-validator == 2.4.0

КогдаЯ выполняю операцию в этом сценарии, где я жду "application / json" и отправляю другой контент. Я получаю 415 с телом:

{ "detail": "Invalid Content-type (application/javascript), expected JSON data", "status": 415, "title": "Unsupported Media Type", "type": "about:blank" }

В этом случае я отправилзапрос с содержанием "application / javascript"

...