Java 如何定义地图<;字符串,对象>;在swagger.json中?
我正在开发一个API,它使用swagger.json文件生成客户端SDK。但由于一些技术原因,我正在手动编辑swagger.json。问题是我可以从API端接收动态响应。对于所有响应,3到4个字段是固定的,但其余字段可能会有所不同。对于其余的字段,我需要一个映射,该映射可以将响应json的所有键包含到映射的键字段中,并将响应json的值字段包含到映射的值字段中。 目前,我使用以下定义:Java 如何定义地图<;字符串,对象>;在swagger.json中?,java,swagger,swagger-2.0,swagger-codegen,Java,Swagger,Swagger 2.0,Swagger Codegen,我正在开发一个API,它使用swagger.json文件生成客户端SDK。但由于一些技术原因,我正在手动编辑swagger.json。问题是我可以从API端接收动态响应。对于所有响应,3到4个字段是固定的,但其余字段可能会有所不同。对于其余的字段,我需要一个映射,该映射可以将响应json的所有键包含到映射的键字段中,并将响应json的值字段包含到映射的值字段中。 目前,我使用以下定义: "Annot": { { "type": "object", "pro
"Annot": {
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"begin": {
"type": "integer",
"format": "int32"
},
"end": {
"type": "integer",
"format": "int32"
},
"text": {
"type": "string"
},
"additionalProperties": {
"type": "object"
}
}
}
]
}
但不幸的是,它产生的是:
private String type;
private Long begin;
private Long end;
private String text;
private Map additionalProperties;
以下是我所期望的定义:
private String type;
private Long begin;
private Long end;
private String text;
private Map<String, Object> additionalProperties;
私有字符串类型;
私人长跑;
私人长尾;
私有字符串文本;
私有地图附加属性;
您知道如何通过手动编辑swagger.json来创建映射,或者定义应该是什么样子吗?您能告诉我们您的预期输出是什么样子吗?请注意,swagger没有提供到特定Java类的映射。从那一点来说,你再也不能比“对象”更好了。但是,您可以使用其他类型的数组(包含键/值属性的类型数组)使其成为mvce,请添加生成代码的命令?例如,如果是
java-jar模块/swagger-codegen-cli/target/swagger-codegen-cli.jar生成…
请将其与您使用的所有参数一起包含在问题中。@slim我想我不能这样做,因为我使用的是一些自定义版本的swagger。“大摇大摆”和“自定义大摇大摆”的命令不同,而且自定义版本也不适用于我假设的所有版本。如果您不能用标准版本的大摇大摆重现问题,没有人可以帮助您。