As far as I can see, Spring Boot requires all fields in data class to have default values. Is this correct?
Edit: excluding Jackson from classpath in GitHub - bjonnh/spring-kotlin-serializer-demo forced Spring to use kotlinx-serializer and thus allowed data fields to allow non-default values. If you need Jackson on classpath you can force RestTemplate to use kotlinx-serializer by adding following:
RestTemplateBuilder()
.messageConverters(KotlinSerializationJsonHttpMessageConverter())
.build()