【问题标题】:Swagger-codegen - How to customize client SDK call names?Swagger-codegen - 如何自定义客户端 SDK 调用名称?
【发布时间】:2019-10-19 23:22:29
【问题描述】:

我是 Swagger 的新手。我有一个现有的 RESTful API,并希望创建一个原生 python 包装库。

是否可以将 SDK 生成为面向对象的库?

例子:

对于像

这样的请求

GET /root/level/{name}/division/{division}

我正在生成 Python 函数

root_level_name_division_division_get()

是否可以生成一个对象结构,允许以下工作流?

div = root.level[name].division[division]
root.level[name].division[other_division] = div # This is for PUT

【问题讨论】:

  • 您是否为 API 定义中的操作指定了 operationId
  • 没有。还没有。我完全是新手,实际上我从其他团队获得了我的 swagger.json。这个“operationId”是什么以及它对我有什么帮助,我很乐意听到或阅读......谢谢。

标签: python sdk swagger


【解决方案1】:

Swagger Codegen 基于operationIds 生成方法名称,将回退到路径名称。例如,如果您的 API 定义指定

paths:
  /root/level/{name}/division/{division}:
    get:
      operationId: getDivisionById
      ...

生成的 Python 函数将被命名

def get_division_by_id(self, name, division, **kwargs)


是否可以生成允许如下工作流的对象结构?

div = root.level[name].division[division]
root.level[name].division[other_division] = div # This is for PUT

不是开箱即用,但您可以create a custom codegen template 以您需要的格式生成源代码。

【讨论】:

    猜你喜欢
    • 2018-09-27
    • 2017-02-05
    • 2017-07-15
    • 2018-08-29
    • 1970-01-01
    • 2018-02-11
    • 2012-09-18
    • 2017-08-20
    • 1970-01-01
    相关资源
    最近更新 更多