所以我有一个带有 webflux 的 GET 请求,如下所示:
suspend fun getProperties(): Map<String, Map<String, String>> {
return webClient
.get()
.uri("/property/all")
.retrieve()
.bodyToMono(object : ParameterizedTypeReference<Map<String, Map<String, String>>>() {})
.awaitSingle()
}
要接收的架构如下所示:
{
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
当调用被触发时,我收到一个错误:
"JSON encoding error: class java.util.LinkedHashMap cannot be cast to class java.lang.String (java.util.LinkedHashMap and java.lang.String are in module java.base of loader 'bootstrap'); nested exception is com.fasterxml.jackson.databind.JsonMappingException: class java.util.LinkedHashMap cannot be cast to class java.lang.String (java.util.LinkedHashMap and java.lang.String are in module java.base of loader 'bootstrap')"
如何正确编写嵌套地图的自定义序列化?