Swagger-Codegen 生成空 class 而不是 ByteArrayOutputStream 的实例

Swagger-Codegen generates empty class instead of an instance of ByteArrayOutputStream

我目前正在尝试使用 swagger-codegen 生成 api。我遇到的唯一问题是 swagger 生成了一个名为“ByteArrayOutputStream”的空 class,而不是 ByteArrayOutputStream 的实例。生成的 class 也不包含任何属性。

生成的swagger-yaml也这样定义了ByteArrayOutputStream:

  ByteArrayOutputStream:
    type: "object"

这是swagger.yaml的相关部分。我用“...”替换了一些值并缩短了文件。

---
swagger: "2.0"
info:
  version: "1.0"
  title: "..."
  contact:
    name: "..."
    url: "..."
host: "..."
basePath: "/"
schemes:
- "https"
paths:
  /rest/v1/pkw:
    post:
      summary: "..."
      description: ""
      operationId: "..."
      produces:
      - "application/json"
      parameters:
      - in: "body"
        name: "body"
        required: false
        schema:
          $ref: "#/definitions/Request"
      responses:
        200:
          description: "successful operation"
          schema:
            $ref: "#/definitions/Result"
definitions:
  ByteArrayOutputStream:
    type: "object"
  Request:
    ...
  Result:
    type: "object"
    properties:
      ...
      pdf:
        $ref: "#/definitions/ByteArrayOutputStream"

更新: 我更改了 api 并将 ByteArrayOutputStram 替换为字符串。我使用 Base64 编码和解码来这样做。这帮助我避免了问题并且工作正常。

当你使用它时就会发生这种情况。您只需重写 class,您的问题就会得到解决。

此致。