根据给定的OpenApi/Swagger规范验证请求有效载荷和响应。

4
我们有一个HTTP API,使用Python的Hug框架编写,但这并不是最终版本,将来可能会被其他东西取代。
除此之外,我们手动编写了一个OpenApi/Swagger 2.0规范文件,使用YAML为API提供交互式文档。然而,两者都没有通过Swagger生态系统中的任何工具连接在一起 - 当我们在API中进行更改时,我们会在规范文件中进行相同的更改,反之亦然(这不是理想的,但我们以后可能会改进)。
现在,为了进行集成测试,我们想要获取一些静态请求及其有效负载(JSON和multipart/form-data),以及响应(JSON),并验证它们是否符合我们规范文件中的模型。
有什么简单的方法可以实现这一点吗?只要复杂度保持合理,我对任何技术或编程语言都持开放态度。
1个回答

1

对于Open Api 3文档,我和我的同事们有同样的需求,最终编写了自己的命令行工具来实现,我在这里开源了它: https://github.com/hevans90/oa3-api-defender

该工具将动态调用规范中路径数组中指定的任何端点,目前支持GET、DELETE、POST、PATCH、PUT请求。它将基于规范中提供的示例值动态创建请求。

查询和路径示例参数值将包含在生成的请求中。请求体(例如在POST中)是根据规范中的requestBody对象中的示例值动态生成的。

要在规范中提供有效的示例,请参阅本文


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接