标签: bravado

用于创建 REST API 的动态 Ruby OpenAPI/Swagger 客户端的帮助程序

我使用Bravado为 petstore 创建 REST API 的 Python 客户

我需要执行相同的操作来获取 REST API 的动态 Ruby 客户端。

  • 我在操作系统集成 Swagger 页面中看到了一系列工具,但其中大多数似乎是使用 Swagger 进行自动化测试或创建 Swagger/openapi API,而不是创建使用 Swagger API 的客户端。

  • Svelte是上面列表中的“来自 Swagger JSON 规范的动态 Ruby API 客户端”。它可能是一个很好的候选者,看起来与我已经使用的Bravado Python 库类似,但是:

    • 看来请求参数验证仅针对基于 URL 的参数进行,因此它不会提供请求,以及针对 Swagger 2.0 规范的响应验证,如下所示
    • Svelte 返回 Faraday::Request 而不是模型实例。
  • Ruby gem OpenAPI是官方的 Ruby 包装器,这正是我们正在寻找的,但目前还没有任何文档 Cf. 主要自述文件:“Active dev. 文档即将推出”
  • Excon(感谢 @kevin-burnett 指出它)没有为 Swagger 描述的 API 提供自动包装器,它是一个 HTTP 客户端,对应于 Python 的Requests,因此是一个手动使用 API 的库。

下面是 Python …

ruby swagger apiclient openapi bravado

8
推荐指数
1
解决办法
2719
查看次数

Python 转义变量名中的“$”字符

我正在使用 bravado,它为我创建了基于 swagger 定义调用的函数。swagger 定义包含前缀为 的查询参数$。IE client.pet.get_pets($limit=10)

问题是,我无法使用,$limit=10因为它会引发语法错误。

有没有办法在 python 中逃避这个问题?

python swagger bravado

2
推荐指数
1
解决办法
1175
查看次数

标签 统计

bravado ×2

swagger ×2

apiclient ×1

openapi ×1

python ×1

ruby ×1