我正在开发一种方法来验证 Spring Boot Web 服务是否遵守描述它的 OpenAPI 规范。
例如,如果应用程序尚未实现 OpenAPI 规范中定义的端点,或者如果端点的请求和/或响应架构(字段名称、数据类型等)、标头等不匹配,已实施,必定会导致构建失败。
我如何验证这一点?
你所描述的听起来很简单,但实际上很难做到。这样做的根本原因是,您必须对 API 执行大量测试才能确定它是否符合其规范。
但是,如果您不需要 100% 的信心,有两个开源工具可能值得您考虑:
它们都通过分析 OpenAPI 规范并根据实际部署的 API 自动定义和执行测试用例来工作。此测试用例的生成取决于规范作者(或另一方)在规范本身中嵌入工作请求和响应示例。如果您的规范中没有内联示例,那么采用这样的工具可能需要投入一些时间。