为什么 Swagger 使我的规范中的 long、boolean 和 object 类型无效?

Why Swagger is invalidating types long, boolean and object on my specs?

我创建了一个扩展来使 Flask-Views Swaggable,这非常简单,您将一些 YAML 定义放在某个文件或文档字符串中,Flasgger 负责创建 API 规范并公开 Swagger UI.

Github: https://github.com/rochacbruno/flasgger
示例应用程序:http://flasgger-rochacbruno.rhcloud.com/apidocs/index.html?url=/v2/spec

现在我遇到了一个问题:

http://online.swagger.io/validator/debug?url=http://flasgger-rochacbruno.rhcloud.com/v2/spec

swagger 验证器说我的规范无效,但一切正常,为什么说我的定义无效?

答案可以作为对 github 存储库的贡献(该示例应用程序在那里)

第一个问题是你的candidate_idreq_query型号下有一个required属性。虽然 属性 是允许的,但在这种情况下值类型是错误且无关紧要的(这不是您使用它的方式)。由于在 req_query 级别你提到数组中 candidate_idrequired,你只需要将它从 属性 定义中删除。

第二个问题是 long 不是有效类型。如果您看一下 https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#data-types,您会发现 long 转换为 typeinteger,而 formatint64