首页 > 解决方案 > Swagger-codegen - 如何自定义客户端 SDK 调用名称?

问题描述

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

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

例子:

对于像这样的请求

获取 /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

标签: pythonsdkswagger

解决方案


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

不是开箱即用,但您可以创建自定义代码生成模板,以您需要的格式生成源代码。


推荐阅读