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;
}