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;
}