Skip to content

Support integer enum values #4768

Closed
@T3rm1

Description

@T3rm1

Currently only string values are supported for enums. Is there a reason why this limitation exists?

Creation of StringSchema for enum types:
https://github.com/swagger-api/swagger-core/blame/dc8785efc71c243eebf1ad57dd612cc75112d351/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java#L309

Props are only added if schema is of type StringSchema:
https://github.com/swagger-api/swagger-core/blame/dc8785efc71c243eebf1ad57dd612cc75112d351/modules/swagger-core/src/main/java/io/swagger/v3/core/jackson/ModelResolver.java#L1220-L1223

Please add support for enums like this:

public enum MyEnumInteger {

	FIRST(1), SECOND(2), THIRD(3);

	@JsonCreator
	MyEnumInteger(int value) {
		this.value = value;
	}

	@JsonValue
	private int value;

	public int getValue() {
		return value;
	}

	public void setValue(int value) {
		this.value = value;
	}
}

Expected result:

"MyEnumInteger": {
    "type": "integer",
    "format": "int32",
    "enum": [
        1,
        2,
        3
    ]
}

Actual result:

"MyEnumInteger": {
    "type": "string",
    "enum": [
        "1",
        "2",
        "3"
    ]
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions