Description
FYI, I think I have a better understanding of the cause regarding enums being between ' " ... " '
.
- Let's consider this enum:
@Getter
@RequiredArgsConstructor
public enum MessageStatus {
OK(200, "OK"),
BAD_REQUEST(400, "Bad Request"),
UNAUTHORIZED(401, "Unauthorized"),
NOT_FOUND(404, "Not Found"),
INTERNAL_SERVER_ERROR(500, "Internal Server Error");
private final int value;
private final String reasonPhrase;
}
generated yaml is:
my.package.infra.remote_service_1.message.reply.MessageReply:
type: object
properties:
errorMessage:
type: string
messageStatus:
type: string
enum:
- OK
- BAD_REQUEST
- UNAUTHORIZED
- NOT_FOUND
- INTERNAL_SERVER_ERROR
payload:
$ref: '#/components/schemas/my.package.infra.remote_service_1.message.reply.Message'
examples:
- errorMessage: string
messageStatus: OK
payload:
No problem here: messageStatus: OK
is correct, i.e., OK
is NOT surrounded by single and double quote
- If I add the annotation
@Schema(enumAsRef = true)
on theMessageStatus
class, then the generated yaml is:
my.package.infra.remote_service_1.message.reply.MessageReply:
type: object
properties:
errorMessage:
type: string
messageStatus:
$ref: '#/components/schemas/my.package.infra.remote_service_1.message.reply.MessageStatus'
payload:
$ref: '#/components/schemas/my.package.infra.remote_service_1.message.reply.Message'
examples:
- errorMessage: string
messageStatus: '"OK"'
payload:
So, having enum being Component, seems to 'trigger' the bug (I guess this is a bug...?),
i.e., turn
messageStatus: OK
into
messageStatus: '"OK"'
Which is NOT correct
- now, If I change
@Schema(enumAsRef = true)
to@Schema(enumAsRef = true, example = "OK")
the generated yaml is now:
my.package.infra.remote_service_1.message.reply.MessageReply:
type: object
properties:
errorMessage:
type: string
messageStatus:
$ref: '#/components/schemas/my.package.infra.remote_service_1.message.reply.MessageStatus'
payload:
$ref: '#/components/schemas/my.package.infra.remote_service_1.message.reply.Message'
examples:
- errorMessage: string
messageStatus: OK
payload:
So, exactly the same as before EXCEPT FOR messageStatus: OK
which does not have the ' " ... " '
around the enum anymore.
I could not find this bug being reported in https://github.com/asyncapi/parser-js/issues?q=is%3Aissue+is%3Aopen+enum
I am not sure where / how to report this bug.
Can I kindly ask you to help me reporting this bug / initiate an inquiry ? I am not sure where I should send this info?
Feel free to copy pate / reference this comment where needed.
Thanks.
Pascal
Originally posted by @pdalfarr in #534 (comment)