So I'm having a GET request with webflux as follows:
suspend fun getProperties(): Map<String, Map<String, String>> {
return webClient
.get()
.uri("/property/all")
.retrieve()
.bodyToMono(object : ParameterizedTypeReference<Map<String, Map<String, String>>>() {})
.awaitSingle()
}
the schema to receive looks as follows:
{
"additionalProp1": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"additionalProp2": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"additionalProp3": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
when call is triggered I'm receiving an error:
"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')"
How can I write the custom serialization of nested Maps correctly?