为什么我得到com.fasterxml.jackson.databind.exc.InvalidDefinitionEx



我想把数据发送到服务器,但它得到了这个异常:com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造retrofit2.Call的实例(不存在像默认构造一样的创建者(:抽象类型要么需要映射到具体类型,具有自定义反序列化程序,要么包含其他类型信息尽管如此,服务器还是给了我HttP 200

我读了很多书,但我不能解决这个问题

更新:当我使用Call<gt;在我的界面中

Object class:
data class CrmLeadActivityApiModel(
    @JsonProperty("oid")var oid: String = "",
    @JsonProperty("Subject") var subject: String? = null,
    @JsonProperty("StartOn") var startOn: Date = Date(),
    @JsonProperty("EndOn") var endOn: Date = Date(),
    @JsonProperty("Recurrence") var recurrence: Boolean = false,
    @JsonProperty("CrmOpportunityOid") var crmOpportunityOid: String = "",
    @JsonProperty("Location") var location: String? = null,
    @JsonProperty("Description") var description: String? = null,
    @JsonProperty("SendNotificationToParticipant") var sendNotificationToParticipants: Boolean = false,
    @JsonProperty("SyncStatus") var syncStatus: Int? = null,
)  {}
api:
    @POST("crm/saveActivities")
    suspend fun sendCrmLeadActivities(@Body crmLeadActivities: List<CrmLeadActivityApiModel>) : Call<List<ResponseBody>>
Retrofit:

        var builder = OkHttpClient.Builder()
        builder = BuildTypeInitializations.setupInterceptor(builder)
        val objectMapper = ObjectMapper().registerModule(KotlinModule())
        objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true)
        val factory = JacksonConverterFactory.create(objectMapper)
        builder
            .addInterceptor(CustomResponseInterceptor(authApi,prefManager))
            .readTimeout(1, TimeUnit.MINUTES)
            .writeTimeout(1, TimeUnit.MINUTES)
            .connectTimeout(1, TimeUnit.MINUTES)
            .retryOnConnectionFailure(true)
        return Retrofit.Builder()
            .baseUrl(url)
            .addConverterFactory(factory)
            .client(builder.build())
            .build()
            .create(CrmApi::class.java)


我犯了一个错误,因为我使用了suspend关键字az Call<gt;同时,在我删除了suspend关键字之后,错误就消失了。

最新更新