dave
04/09/2019, 11:23 AM@JsonTypeInfo
. TBH, I generally try to make DTO objects as dumb as possible as I hate all the annotations.Tom Ellis
04/09/2019, 11:42 AMval jacksonResult = jacksonObjectMapper().readValue<Result<MyClass>>(response.bodyString())
println(jacksonResult.body.message)
so i have a workaround, it would just be nice to use the lens…dave
04/09/2019, 12:17 PMRiku
04/09/2019, 1:08 PMval mapper = KotlinModule()
.asConfigurable()
.withStandardMappings()
.done()
.registerModule(JodaModule())
.disableDefaultTyping()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.configure(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES, true)
.configure(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS, true)
.configure(DeserializationFeature.USE_BIG_INTEGER_FOR_INTS, true)
.configure(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true)
dave
04/09/2019, 1:11 PMRiku
04/09/2019, 1:13 PMdata class EventInDto(
val name: String,
val sponsor: String,
val contact: String,
val date: Timestamp,
val details: String,
val location: String,
val status: EventStatus = EventStatus.PLANNING,
val maxParticipants: Int,
val registrationOpens: Timestamp,
val volume: Int,
val sponsorLink: String
)`
dave
04/09/2019, 1:14 PMRiku
04/09/2019, 1:14 PMdave
04/09/2019, 1:15 PMRiku
04/09/2019, 1:16 PMBody.string(ContentType.APPLICATION_JSON).map { json -> EventInDto.from(json) }.toLens()
from
readValuedave
04/09/2019, 1:21 PMRiku
04/09/2019, 2:19 PM