openapi-spec-validator 无法验证 swagger:2.0 API 规范

问题描述 投票:0回答:1

我们决定从使用 swagger-cli 转向 openapi-spec-validator 来验证我们的 API 规范,因为 swagger-cli 似乎已被弃用。

以下规范因 openapi-spec-validator 失败,

abcd-spec.yaml

swagger: "2.0"
consumes:
  - application/json
produces:
  - application/json
schemes:
  - http
info:
  description: abcd
  title: Mobile App Configuration
  version: "1.0"
host: api.abcd.com
paths:
.
.
/* api paths etc */
.
.

当我在 cli 中尝试以下命令时,

openapi-spec-validator abcd-spec.yaml

它给了我以下错误,

Validating open-api/mobile-configuration-v1-openapi.yaml... # Validation Error
'openapi' is a required property
Failed validating 'required' in schema:
    {'$schema': 'http://json-schema.org/draft-04/schema#',
     'additionalProperties': False,
......

我读到 openapi-spec-validator 支持 swagger 2.0,但不知道为什么它在这里失败。

OpenAPI 规范验证器是一个 CLI、预提交挂钩和 python 包,可根据 OpenAPI 2.0(又名 Swagger)、OpenAPI 3.0 和 OpenAPI 3.1 规范验证 OpenAPI 规范。验证器旨在检查是否完全符合规范。

有人可以建议我做错了什么吗?

swagger openapi
1个回答
0
投票

OpenAPI 规范验证器 验证 OpenAPI (Swagger) 2.0 API 定义。

我刚刚尝试了 PetStore Swagger 2.0 定义 以及您的代码片段。只需使用:

openapi-spec-validator petstore2.yaml

在这两种情况下,验证器都回复“OK”。我用的是0.7.1版本。

请检查验证器的版本以及您的文件是否未以某种方式损坏。

© www.soinside.com 2019 - 2024. All rights reserved.