Я использую Kotlin
, чтобы написать AWS Lambda
. У меня есть Kotlin
класс данных
class MessageObject(
val id: String,
val name: String,
val otherId: String
)
Этот класс данных используется в качестве входных данных для требуемой реализации интерфейса
class Handler : RequestHandler<MessageObject, Output> {
...
override fun handleRequest(msg: MessageObject, ctx: Context) {
...
}
}
Когда я тестирую эту лямбду в консоли aws и передать ему правильное JSON сообщение, я получаю это:
An error occurred during JSON parsing: java.lang.RuntimeException
java.lang.RuntimeException: An error occurred during JSON parsing
Caused by: java.io.UncheckedIOException:
com.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.exc.InvalidDefinitionException:
Cannot construct instance of 'com.mycode.MessageObject'(no Creators, like default construct, exist):
cannot deserialize from Object value (no delegate- or property-based Creator)
Я почти уверен, что это исправлено, сказав: ObjectMapper().registerModule(KotlinModule())
но в мире AWS Lambda
как мне редактировать объект сопоставления предоставляется AWS?