i定义OpenAPI 3.0文档,并使用OpenApi-generator-cli-3.3.4.jar生成Java代码(DTO(。但是我无法解决这种情况: List<Map<Integer, Set<String>>>
。
-
在
Map<Integer, String>
中:-
我知道我可以使用架构对象:附加Properties 定义地图类型。
-
OpenAPI规范附加Properties :值可以是布尔值或对象。内联或引用模式必须是模式对象,而不是标准的JSON模式。
-
上面的内容,我无法将地图密钥设置为整数,对吗?对此问题有任何建议吗?
-
-
在
set<String>
或set<List<String>>
问题中:我必须尝试一些努力:
testing1 :设置" 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 :不设置为list
/**
* Get test
* @return test
**/
@ApiModelProperty(value = "")
public List<String> getTest() {
return test;
}
public void setTest(List<String> test) {
this.test = test;
}
testing2 :编辑属性测试类型
"test": {
"type": "Set"
}
warn
[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;
}
testing3 :编辑属性测试类型
"test": {
"type": "set"
}
warn
[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 Set类型,但不知道设置Generic
/**
* Get test
* @return test
**/
@ApiModelProperty(value = "")
public Set getTest() {
return test;
}
public void setTest(Set test) {
this.test = test;
}
- 有任何建议在Openapi-Generator中修复
Map<Integer, String>
和Java设置通用问题?
for OpenAPI版本3.0.3 Java Generic Set的示例Works
yaml定义:
mapOfSets:
type: object
additionalProperties:
type: setOfStrings
maven pom.xml openapi-generator-maven-plugin的配置:
<typeMappings>
<typeMapping>setOfStrings=Set<String></typeMapping>
</typeMappings>
<importMappings>
<importMapping>Set<String>=java.util.Set</importMapping>
</importMappings>
生成的Java代码:
private Map<String, Set<String>> mapOfSets = null;
there setofstrings 是一种自定义的OpenAPI类型,它具有pom.xml中定义的自定义映射,并将生成set&lt; string&gt;Java类型。