为什么 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_id
在req_query
型号下有一个required
属性。虽然 属性 是允许的,但在这种情况下值类型是错误且无关紧要的(这不是您使用它的方式)。由于在 req_query
级别你提到数组中 candidate_id
是 required
,你只需要将它从 属性 定义中删除。
第二个问题是 long
不是有效类型。如果您看一下 https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#data-types,您会发现 long
转换为 type
为 integer
,而 format
为 int64
。
我创建了一个扩展来使 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_id
在req_query
型号下有一个required
属性。虽然 属性 是允许的,但在这种情况下值类型是错误且无关紧要的(这不是您使用它的方式)。由于在 req_query
级别你提到数组中 candidate_id
是 required
,你只需要将它从 属性 定义中删除。
第二个问题是 long
不是有效类型。如果您看一下 https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#data-types,您会发现 long
转换为 type
为 integer
,而 format
为 int64
。