我们决定从使用 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 规范。验证器旨在检查是否完全符合规范。
有人可以建议我做错了什么吗?
OpenAPI 规范验证器 验证 OpenAPI (Swagger) 2.0 API 定义。
我刚刚尝试了 PetStore Swagger 2.0 定义 以及您的代码片段。只需使用:
openapi-spec-validator petstore2.yaml
在这两种情况下,验证器都回复“OK”。我用的是0.7.1版本。
请检查验证器的版本以及您的文件是否未以某种方式损坏。