本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

-验证嵌入式JSON示例:自动搜索OpenAPI规范中的响应示例并验证其与对应schema的一致性
-支持外部示例验证:通过命令行参数指定schema路径和示例文件路径进行验证
-批量验证能力:通过映射文件(JSON格式)批量指定多个schema与示例文件的对应关系
-多格式支持:兼容JSON和YAML格式的OpenAPI规范文件
-详细错误输出:以JSON格式输出验证错误,包含关键字、数据路径、schema路径等信息
-灵活配置:支持禁用额外属性检查、指定工作目录等高级选项## 使用场景-API文档维护:确保OpenAPI文档中的示例数据符合接口定义的schema
-开发阶段验证:在API开发过程中快速检查示例是否符合设计规范
-CI/CD集成:作为自动化流程的一部分,在API文档更新时自动验证示例正确性
-外部示例管理:验证未嵌入在OpenAPI规范中的独立示例文件## 使用方法### Docker使用#### 基本命令格式shell docker run --rm -i \ --user=$(id -u) \ -v ${PWD}:/data \ codekie/openapi-examples-validator:latest \ [选项] /data/<openapi规范文件路径> #### 参数说明---rm:容器退出后自动删除
--i:保持标准输入打开
---user=$(id -u):使用当前用户ID运行,避免文件权限问题
--v ${PWD}:/data:将当前目录挂载到容器内的/data目录,用于访问OpenAPI规范文件和示例文件
docker run --rm -i
--user=$(id -u)
-v ${PWD}:/data
codekie/openapi-examples-validator:latest
/data/openapi-spec.yaml
|------|------|------| | `-V` | `--version` | 输出版本号 | | `-s` | `--schema-jsonpath <schema-jsonpath>` | 指定OpenAPI schema的JSON路径,用于验证外部示例文件 | | `-e` | `--example-filepath <example-filepath>` | 外部示例文件的路径 | | `-m` | `--mapping-filepath <mapping-filepath>` | 映射文件路径,JSON格式,键为schema路径,值为示例文件路径(支持数组和通配符,通配符参数需用引号包裹) | | `-c` | `--cwd-to-mapping-file` | 将工作目录切换到映射文件所在目录,用于解析示例文件的相对路径 | | `-n` | `--no-additional-properties` | 不允许示例中包含schema未定义的额外属性 | | `-h` | `--help` | 输出帮助信息 | ### 使用示例#### 1. 验证外部示例指定schema路径和示例文件路径:```shell docker run --rm -i \ --user=$(id -u) \ -v ${PWD}:/data \ codekie/openapi-examples-validator:latest \ -s $.paths./.get.responses.200.schema \ -e /data/example.json \ /data/openapi-spec.json ```#### 2. 使用映射文件批量验证创建映射文件`mapping.json`:```json { "$.paths./.get.responses.200.schema": [ "examples/valid1.json", "examples/valid2.json" ], "$.paths./.post.responses.400.schema": "examples/invalid.json" } ```执行验证:```shell docker run --rm -i \ --user=$(id -u) \ -v ${PWD}:/data \ codekie/openapi-examples-validator:latest \ -m /data/mapping.json \ /data/openapi-spec.yaml ```### 错误输出示例验证错误将输出到`stderr`,格式为JSON数组:```json [ { "keyword": "type", "dataPath": ".versions[0].id", "schemaPath": "#/properties/versions/items/properties/id/type", "params": { "type": "string" }, "message": "should be string", "examplePath": "/~1/get/responses/200/examples/application~1json" } ] ```## 注意事项-**格式支持限制**:`int32`、`float`、`double`格式支持`number`类型;`int64`格式仅支持`string`类型(受JavaScript数值精度限制)。 -**额外属性检查限制**:`--no-additional-properties`选项在使用`allOf`组合子模式时不生效,不会对使用组合关键字(如`allOf`、`anyOf`等)的子模式应用额外属性检查,此时会输出警告日志。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429