首页 文章

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

提问于
浏览
2

我们有一个使用hug framework for Python编写的HTTP API,但这不是一成不变的,将来可以用其他东西替换 .

在它旁边,我们在YAML中为该API手动编写了OpenApi/Swagger 2.0 specification file,以便提供交互式文档 . 但是,两者并没有通过Swagger生态系统相互连接 - 当我们在API中进行更改时,我们在规范中进行相同的更改,反之亦然(这不是理想的,但我们可能会在以后对此进行改进) .

现在,为了集成测试,我们希望获取一些静态请求及其有效负载(JSON和multipart / form-data)以及es响应(JSON),并验证它们是否适合我们的规范文件中的模型 .

有什么可以轻松实现这一目标?只要复杂性保持合理,我就对任何技术或编程语言持开放态度 .

1 回答

  • 1

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

    它将动态调用规范的 paths 数组中指定的任何 endpoints ,当前支持GET,DELETE,POST,PATCH,PUT请求 . 它将根据规范中提供的示例值动态创建请求 .

    Query&Path示例参数值将包含在生成的请求中 . 请求主体(例如,在POST中)是根据规范中requestBody对象中的示例值动态生成的 .

    要在您的规范中提供有效的示例,see this article

相关问题