Подтвердить что ты не робот

Не удалось создать конвертер для моего класса в Android-платформе Retrofit2 converter-simplexml

Im, используя библиотеку конвертирования Simplexml Retrofit2, код работает успешно, когда я использую конвертер-gson, но когда я добавляю simplexmlConverter, у меня есть исключение:

java.lang.IllegalArgumentException: Unable to create converter for java.util.List<com.rengwuxian.rxjavasamples.model.ZhuangbiImage>
Caused by: java.lang.IllegalArgumentException: Could not locate ResponseBody converter for java.util.List<com.rengwuxian.rxjavasamples.model.ZhuangbiImage>.

Вот где я пытаюсь выполнить ретро-запрос http:

private void search(String key) {
    subscription = getZhuangbiApi()
            .search(key)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(observer);
}

public static ZhuangbiApi getZhuangbiApi() {
    if (zhuangbiApi == null) {
        Retrofit retrofit = new Retrofit.Builder()
                .client(okHttpClient)
                .baseUrl(baseUrl)
                .addConverterFactory(simpleXmlConverterFactory)
                .addCallAdapterFactory(rxJavaCallAdapterFactory)
                .build();
        zhuangbiApi = retrofit.create(ZhuangbiApi.class);

    }
    return zhuangbiApi;
}

Мой интерфейс, который оказался моим API

public interface ZhuangbiApi {

@GET("merchant/list")
Observable<List<ZhuangbiImage>> search(@Query("app_code") String appCode);
}

И класс ZhuangbiImage

@Root(name = "item")
public class ZhuangbiImage {

@Element(name = "title")
public String title;

@Element(name = "merchant_id")
public String merchantId;
}
4b9b3361

Ответ 1

Вы должны проверить свои зависимости в gradle -file. Также проверьте, что версия модификации и конвертера одинакова.