Python Connexion:自动验证Accept标头

时间:2018-10-15 12:14:54

标签: python flask connexion

我在我的Python Flask项目中使用the Connexion framework。在API规范(使用yaml文件格式)中,我定义了“消费”和“生产”字段,如下所示:

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

Connexion documentanation说,Connexion根据API规范自动验证请求,因此我认为它将自动验证传入的“ Accept”(或“ Content-Type”)标头是否与“ application / json”匹配”以上述数据为例。

但是,事实并非如此。如果我省略Accept标头和Content-Type标头,或者将它们添加为随机值,则不会出现警告或错误或其他任何内容。

是否有其他Connexion用户获得了Connexion来验证媒体类型数据?还是您在代码中明确处理了此问题?

编辑:似乎this bug report可以解决此问题。

1 个答案:

答案 0 :(得分:0)

我正在使用以下版本:

  • connexion == 1.5.3挥舞着
  • 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”的请求