如何从 OpenAPI 3.0 规范生成 XSD 文件?

Sim*_*mon 6 xml xsd xsd-validation swagger openapi-generator

我使用 OpenAPI 3.0 和额外的 xml 元数据创建 XML API 规范,如Swagger 文档中所述。在开发阶段,我想根据 OpenAPI 3.0 规范自动测试端点的 XML 响应。

根据 OpenAPI 3.0 架构验证端点的 XML 响应的最佳方法是什么?通过验证,我的意思是:

  • 验证每个 XML 标签或标签的属性是否符合规范,
  • 规格要求的所有元素都存在,
  • 根据响应内容架构中声明的类型成功验证数据。

我想这样的测试可以通过以下步骤完成:

  1. 在项目构建期间,如果该路径已指定application/xml内容类型并且定义了响应架构,则从架构定义为 OpenAPI 规范中的每个路径生成 XSD 文件。

  2. 在测试中,获取特定端点的响应并根据 XSD 文件对其进行验证。

不幸的是,目前似乎没有可以从 OpenAPI 规范生成 XSD 以创建上述管道的工具。

你怎么能实现这个目标?是否可以结合使用 OpenAPI/Swagger 工具?是否有其他可靠的方法来验证 XML 响应而无需手动创建 XSD?

问题不是特定于编程语言的。