Первая конечная точка возвращает a Json, и это работает нормально. Тем не менее, вторая конечная точка не возвращает JSON, а массив объекта.
Ответ, отправленный обратно API/type , выглядит так:
Код: Выделить всё
[["Model",123],["ModelB",456],["ModelC",789]]
Код: Выделить всё
@InstallIn(SingletonComponent::class)
@Module
class APIModule {
@Singleton
@Provides
@Named("default")
fun provideDefaultOkHttpClient(): OkHttpClient =
OkHttpClient
.Builder()
.addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.build()
@Singleton
@Provides
fun provideRetrofit(
@Named("default") okHttpClient: OkHttpClient
): Retrofit = Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.baseUrl("https://test.com")
.client(okHttpClient)
.build()
}
Код: Выделить всё
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 3 path $[0]
< /code>
Служба API такая же, как ниже: < /p>
interface Service {
@GET("api/type")
suspend fun getType(): Array
>
< /code>
Я понимаю, что проблема в том, что с одной конечной точки ответ - это JSON, а в другом случае это массив, подобный: [[«Модель», 123], ["modelB" , 456], ["modelc", 789]] Подробнее здесь: https://stackoverflow.com/questions/794 ... t-response
Мобильная версия