Как создать общую услугу модернизации c - PullRequest
1 голос
/ 03 августа 2020

Я пытаюсь сделать общий запрос c на переоборудование, но получаю "java .lang.ClassCastException: com.google.gson.internal.LinkedTreeMap не может быть преобразован в coe.native android .data .repository.Repository $ LoginRequest "

Мой текущий запрос выглядит так:

@POST
suspend fun <T>postRequest(
   @Url url: String,
   @Body body: Any? = null,
   @HeaderMap headers: Map<String, String>? = null
): T

1 Ответ

0 голосов
/ 03 августа 2020

Решение для kotlin:

Попробуйте следующее:

interface IApiService {


    @GET("{url}")
    suspend fun getRequest(
        @Path(value = "url", encoded = true) path: String,
        @QueryMap hashMap: Map<String, String>
    ): Maybe<Response<ResponseBody>>

    @FormUrlEncoded
    @POST("{url}")
    suspend fun postRequest(
        @Path(value = "url", encoded = true) path: String,
        @FieldMap hashMap: Map<String, String>
    ): Maybe<Response<ResponseBody>>

    @Multipart
    @Headers("Content-Type:multipart/form-data")
    @POST("{url}")
    suspend fun sendDocuments(
        @Path(value = "url", encoded = true) path: String,
        @PartMap partMap: Map<String, RequestBody>
    ): Maybe<Response<ResponseBody>>


    @Headers("Content-Type: application/json")
    @POST("{url}")
    suspend fun postRequestForRaw(
        @Path(value = "url", encoded = true) path: String,
        @Body requestBody: RequestBody
    ): Maybe<Response<ResponseBody>>

}
...