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

如何阻止openapi-generator生成未使用的Java响应类?

解决OpenAPI Generator生成未使用响应类的问题

你可以通过以下两种方式解决这个问题:

1. 使用配置项调整返回类型

在生成Java客户端时,添加useResponseEntity=true的额外属性,让接口方法返回ResponseEntity<T>,而非为每个响应状态码生成单独的类。这样就不会产生CreateRequestGet400Response这类未被引用的文件。

命令行示例:

openapi-generator-cli generate -i your-api.yaml -g java -o ./output --additional-properties useResponseEntity=true

如果使用配置文件(如config.json),可以加入:

{
  "useResponseEntity": true
}

然后通过--config config.json参数引用该配置文件。

2. 在OpenAPI定义中复用响应Schema

将重复的响应结构抽成可复用的组件,避免每个状态码生成独立的类。修改你的YAML文件如下:

openapi: 3.0.1
info:
  title: example-api
  description: 'Example API'
  version: 1.0.0
servers:
  - url: /example/api/v1
components:
  schemas:
    ApiStatusResponse:
      type: object
      properties:
        status:
          type: string
          description: Status of request
paths:
  /createRequest:
    get:
      summary: Creates a request
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiStatusResponse'
                example:
                  status: OK
        '400':
          description: Error 400
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiStatusResponse'
                example:
                  status: Error 400
        '401':
          description: Error 401
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiStatusResponse'
                example:
                  status: Error 401
        '402':
          description: Error 402
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiStatusResponse'
                example:
                  status: Error 402
        '490':
          description: Error 490
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiStatusResponse'
                example:
                  status: Error 490
        '499':
          description: Error 499
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiStatusResponse'
                example:
                  status: Error 499

这样生成器只会生成一个ApiStatusResponse类,替代原本多个重复的响应类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:25:20