Теперь я сталкиваюсь с проблемой при создании Enum с пользовательскими свойствами.
В Project A я создаю веб-сервис API. Я использую enunciate-maven-plugin (версия 2.12.1) для генерации документации swagger из Java кода. Когда запускается enunciate-maven-plugin, он выводит swagger. json
Затем в проекте B, который использует API-интерфейс Project A, я использую swagger-codegen-maven-plugin (версия 2.3. 1) для генерации Java кода из вышеуказанного чванства. json.
maven конфигурация в проекте B:
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.4.8</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>swagger-project-a.json</inputSpec>
<language>java</language>
<generateApis>false</generateApis>
<generateApiTests>false</generateApiTests>
<generateApiDocumentation>false</generateApiDocumentation>
<generateSupportingFiles>false</generateSupportingFiles>
<generateModelDocumentation>false</generateModelDocumentation>
<output>${project.basedir}</output>
<apiPackage>extern.api.swagger</apiPackage>
<modelNamePrefix></modelNamePrefix>
<modelPackage>extern.api.projecta</modelPackage>
</configuration>
</execution>
</executions>
</plugin>
Все работает хорошо, кроме Enum. Например, у меня есть enum
public enum ColorEnum {
RED("1"),
GREEN("2"),
BLUE("3")
private final String value;
ColorEnum(value) {
this.value = value;
}
public String getValue(){ return value;}
}
Сгенерированное чванство. json будет:
"json_ColorEnum" : {
"type" : "string",
"title" : "ColorEnum",
"enum" : [
"RED",
"GREEN",
"BLUE"
]
}
Значения перечисления не генерируются. Я уже пробовал @JsonProperty следующим образом: REF: https://github.com/stoicflame/enunciate/issues/653
public enum ColorEnum {
@JsonProperty("1")
RED("1"),
@JsonProperty("2")
GREEN("2"),
@JsonProperty("3")
BLUE("3")
private final String value;
ColorEnum(value) {
this.value = value;
}
public String getValue(){ return value;}
}
И вывод не такой, как ожидалось:
"json_ColorEnum" : {
"type" : "string",
"title" : "ColorEnum",
"enum" : [
"1",
"2",
"3"
]
}
Как Могу ли я сгенерировать документацию Enum с меткой и значением?
Любая помощь приветствуется. Спасибо.