Конгчен / swagger-maven-плагин enum генерация - PullRequest
0 голосов
/ 10 июня 2019

Мне трудно создать надлежащую документацию swamger 2.0 yaml с использованием kongchen swagger-maven-plugin. Моя проблема возникает, когда 2 класса используют один и тот же класс enum.

public enum Enum {
   A,B,C
}

public class First {
   public Enum e;
}

public class Second {
   public Enum e;
}

В результате будет создан файл swagger.yaml, содержащий:

definitions:
  First:
    type: "object"
    properties:
      e:
        type: "string"
        enum:
        - "A"
        - "B"
        - "C"
  Second:
    type: "object"
    properties:
      e:
        type: "string"
        enum:
        - "A"
        - "B"
        - "C"

Однако я хотел бы, чтобы он генерировал только одно определение модели enum и ссылался на тип в полях объектов. Примерно так:

definitions:
  First:
    type: "object"
    properties:
      $ref: "#/definitions/Enum"

  Second:
    type: "object"
    properties:
      e:
        $ref: "#/definitions/Enum"

  Enum:
    type: "string"
    enum:
        - "A"
        - "B"
        - "C"

Есть ли способ достичь этого? Таким образом, мой сгенерированный клиент генерирует несколько внутренних классов перечисления с одинаковыми значениями.

...