JAVA - MicroProfile [OpenAPI], как работать с enum?

Вопрос

Я пытаюсь сделать хороший YAML-файл, который может быть использован swagger, поэтому у меня есть документация по API. И все же я застрял на части с перечислением внутри объекта.

Microprofile автоматически конвертирует перечисления внутри класса в (классы JAVA можно найти ниже):

UserType:
  type: object
  properties:
    REGULAR: {}
    VIP: {}
    MODERATOR: {}
    ADMIN: {}
    OWNER: {}
    SYSTEM: {}
    id:
      type: integer
    $VALUES:
      type: array
      items:
        type: object
  allOf:
  - $ref: '#/components/schemas/Enum'

Это, однако, не так, как я хотел бы, я хотел бы, чтобы это было похоже на пример на https://petstore.swagger.io/ где enum просто... лучше...

Это возможно? Потому что я видел пример, если вы делаете свою собственную схему YAML, и это должно быть так:

Cat:  ## "Cat" will be used as the discriminator value
  description: A representation of a cat
  allOf:
  - $ref: '#/components/schemas/Pet'
  - type: object
    properties:
      huntingSkill:
        type: string
        description: The measured skill for hunting
        enum:
        - clueless
        - lazy
        - adventurous
        - aggressive
    required:
    - huntingSkill

Хотелось бы помочь:)

Если вам нужно что-то еще или вы не понимаете, о чем я прошу, пожалуйста, не стесняйтесь спрашивать:)


WebAccount

@XmlRootElement
@Table(name = "WebAccount")
public class WebAccount implements Serializable {

    @Column(unique = true, nullable = false, length = 127)
    private String username, email;

    @Column(unique = false, nullable = false, length = 255)
    private String password;

    @Column(unique = false, nullable = false)
    private UserType permissionGroup;

    @Transient
    private String cookieKey;

    public WebAccount() {

    }
}

UserType

public enum UserType {

    REGULAR,
    VIP,
    MODERATOR,
    ADMIN,
    OWNER,
    SYSTEM;
}

0 ответов

Другие вопросы по тегам