Jackson/Kotlin: لا يوجد منشئون، مثل المنشئ الافتراضي — خطأ في إلغاء التسلسل
مرحباً بالجميع! أنا مبتدئ في Kotlin وأحاول استخدام Retrofit + Jackson لتحليل JSON في Android. لدي فئة بيانات بسيطة:
```kotlin
data class User(
val id: Int,
val name: String,
val email: String
)
```
وواجهة Retrofit:
```kotlin
interface ApiService {
@GET("users/{id}")
suspend fun getUser(@Path("id") id: Int): User
}
```
ولكن عند محاولة تنفيذ الطلب أحصل على استثناء:
```
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.example.app.User` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (BufferedInputStream); line: 1, column: 2]
```
أنا أستخدم Jackson عبر وحدة `jackson-module-kotlin`. ما المشكلة؟ لقد قمت بتعريف فئة بيانات مع جميع الحقول باستخدام val، لماذا لا يستطيع Jackson إنشاء الكائن؟ حاولت إضافة @JsonProperty — لم يساعد. أرشدوني كيف أقوم بالتكوين بشكل صحيح.