Я разрабатываю приложение, которое вызывает REST API внешней системы и отображает ответ, используя Джексона. DTO выглядит следующим образом:
@JsonIgnoreProperties(ignoreUnknown = true)
class FetchEmployeeLeavesResponse {
lateinit var leaves: List<EmployeeLeaveType>
@JsonProperty("response")
fun unpackNested(response: Map<String, Any>) {
val employeeLeaves = JSONArray()
if (response["result"] is List<*>) {
employeeLeaves.addAll(response["result"] as List<*>)
val mapper = jacksonObjectMapper()
mapper.registerModule(JavaTimeModule())
leaves = mapper.readValue(employeeLeaves.toJSONString())
}
}
}
Есть ли способ избежать создания экземпляров JavaTimeModule
и ObjectMapper
каждый раз, когда я анализирую ответ? Я не могу автоматически подключить какой-либо компонент здесь, так как этот объект является DTO, и у меня нет доступа к контексту Spring