Swagger-Codegen генерирует пустой класс вместо экземпляра ByteArrayOutputStream

#java #swagger #swagger-codegen #bytearrayoutputstream

#java #swagger #swagger-codegen #bytearrayoutputstream

Вопрос:

В настоящее время я пытаюсь сгенерировать api с помощью swagger-codegen. Единственная проблема, с которой я сталкиваюсь, заключается в том, что swagger генерирует пустой класс с именем «ByteArrayOutputStream» вместо экземпляра ByteArrayOutputStream. Сгенерированный класс также не содержит атрибутов.

Сгенерированный 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"

  

Комментарии:

1. можете ли вы показать нам спецификацию, которую вы используете?

2. Что именно вам нужно знать? Чванство. файл yaml? Или что-то еще?

3. да, файл swagger был бы полезен,

Ответ №1:

Обновление: я изменил свой api и заменил ByteArrayOutputStram на строку. Для этого я использую кодировку и декодирование Base64. Это помогло мне избежать проблем и работает нормально.

Ответ №2:

Это происходит, когда вы его используете. Вам просто нужно переопределить этот класс, и ваша проблема будет решена.

С уважением.