You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义OpenAPI工具自动生成的API类名称?

自定义OpenAPI Generator生成的API类名称

可以通过以下两种方式实现自定义生成的API类名称,解决同路径前缀接口被归入同一类的问题:

方法一:在OpenAPI规范中添加x-codegen-classname扩展

直接在每个接口的operation定义中指定所属的API类名称,优先级最高,能精准控制每个操作的归属类:

/items/{itemName}:
  get:
    operationId: getItems 
    x-codegen-classname: ItemsApi  # 指定生成的API类名称
    parameters:
      - name: itemName
        in: path
        required: true
        description: The name of an item
        schema:
          type: string

/items/{itemName}/clean/:
  get:
    operationId: getItemsClean
    x-codegen-classname: ItemCleanApi  # 指定另一个API类名称
    parameters:
      - name: itemName
        in: path
        required: true
        description: The name of an item
        schema:
          type: string

生成后,getItems方法会被放入ItemsApi类,getItemsClean会被放入ItemCleanApi类。

方法二:配置Maven插件,结合自定义标签分组

如果希望按标签批量分组,可先给每个operation添加自定义标签,再在插件配置中开启按标签分组的规则:

1. 在OpenAPI规范中添加自定义标签

/items/{itemName}:
  get:
    operationId: getItems 
    tags:
      - Items
    parameters:
      - name: itemName
        in: path
        required: true
        description: The name of an item
        schema:
          type: string

/items/{itemName}/clean/:
  get:
    operationId: getItemsClean
    tags:
      - ItemClean
    parameters:
      - name: itemName
        in: path
        required: true
        description: The name of an item
        schema:
          type: string

2. 修改Maven插件配置

在插件的<configuration>中添加groupBy和useTags配置,强制按标签分组生成API类:

<plugin>
  <groupId>org.openapitools</groupId>
  <artifactId>openapi-generator-maven-plugin</artifactId>
  <version>7.4.0</version>
  <executions>
    <execution>
      <goals>
        <goal>generate</goal>
      </goals>
      <configuration>
        <!-- 其他基础配置(如generatorName、inputSpec等) -->
        <configOptions>
          <groupBy>tag</groupBy>
          <useTags>true</useTags>
          <!-- 可选:设置类名前缀/后缀 -->
          <apiNameSuffix>Api</apiNameSuffix>
        </configOptions>
      </configuration>
    </execution>
  </executions>
</plugin>

这种方式下,带有Items标签的操作会生成ItemsApi类,带有ItemClean标签的操作会生成ItemCleanApi类。

注意:如果之前添加标签无效,大概率是未在插件配置中开启groupBy: tag和useTags: true,这两个参数是让工具按标签分组的关键。

内容的提问来源于stack exchange,提问作者chujudzvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:57:14