OpenAPI 3.0 ドキュメントを定義し、openapi-generator-cli-3.3.4.jar を使用して Java コード (DTO) を生成します。しかし、私はこのケースを解決できません: List<Map<Integer, Set<String>>>
.
問題
Map<Integer, String>
:私が知っているように、スキーマ オブジェクトを使用できます: additionalPropertiesはマップ タイプを定義します。
OpenAPI 仕様additionalProperties : 値はブール値またはオブジェクトにすることができます。インラインまたは参照されるスキーマは、標準の JSON スキーマではなく、スキーマ オブジェクトでなければなりません。
上記によると、Map キーを整数に設定することはできませんよね? この問題について何か提案はありますか?
set<String>
または問題:私はいくつset<List<String>>
かの努力をしなければなりません:
Testing1 : set "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 の生成: Set is List ではありません
/**
* 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;
}
Testing3 : プロパティ テスト タイプを編集して設定します
"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 Set 型を持っていますが、ジェネリックを設定する考えはありません
/**
* Get test
* @return test
**/
@ApiModelProperty(value = "")
public Set getTest() {
return test;
}
public void setTest(Set test) {
this.test = test;
}
Map<Integer, String>
openapi-generator で修正および Java Set の一般的な問題を解決するための提案はありますか?