Я определяю документы OpenAPI 3.0 и использую openapi-generator-cli-3.3.4.jar для генерации кода Java (DTO).
Но я не могу решить этот случай: List<Map<Integer, Set<String>>>
.
В Map<Integer, String>
выпуск:
Как я знаю, я могу использовать объект схемы :
дополнительные свойства определить тип карты.
Спецификация OpenAPI AdditionalProperties : значение может быть логическим или объектным. НЕОБХОДИМО, чтобы встроенная или ссылочная схема была из объекта схемы и не являлась стандартной схемой JSON.
В соответствии с вышеизложенным, я не могу установить ключ карты на целое число, верно? Есть предложения по этому вопросу?
В set<String>
или set<List<String>>
выпуск: мне нужно попытаться:
Тестирование1 : установить "uniqueItems": true
{
"openapi": "3.0",
"info": {
"version": "1.0.0",
"title": "Dr.First Schema",
"license": {
"name": "MIT"
}
},
"components": {
"schemas": {
"Question": {
"type": "object",
"properties": {
"test": {
"type": "array",
"items":{
"type":"string"
}
}
}
}
}
}
}
Создать Java DTO : не указан в списке
/**
* Get test
* @return test
**/
@ApiModelProperty(value = "")
public List<String> getTest() {
return test;
}
public void setTest(List<String> test) {
this.test = test;
}
Testing2 : измените тип теста свойств на Set
"test": {
"type": "Set"
}
Предупреждать
[main] WARN o.o.codegen.DefaultCodegen - Unknown type found in the schema: Set
[main] WARN o.o.codegen.DefaultCodegen - Unknown type found in the schema: Set
[main] WARN o.o.codegen.DefaultCodegen - Unknown type found in the schema: Set
Генерация Java DTO : Синтаксическая ошибка
/**
* Get test
* @return test
**/
@ApiModelProperty(value = "")
public java.util.* getTest() {
return test;
}
public void setTest(java.util.* test) {
this.test = test;
}
Тестирование3 : измените тип теста свойств для установки
"test": {
"type": "set"
}
Предупреждать
[main] WARN o.o.codegen.DefaultCodegen - Unknown type found in the schema: set
[main] WARN o.o.codegen.DefaultCodegen - Unknown type found in the schema: set
[main] WARN o.o.codegen.DefaultCodegen - Unknown type found in the schema: set
Генерация Java DTO : есть тип набора Java, но нет идеи установить универсальный
/**
* Get test
* @return test
**/
@ApiModelProperty(value = "")
public Set getTest() {
return test;
}
public void setTest(Set test) {
this.test = test;
}
- Есть какие-нибудь предложения по исправлению
Map<Integer, String>
и java Устанавливаете общую проблему в openapi-generator?