У меня есть веб-сервис .net, который возвращает JSON Array.Я смотрел некоторые уроки на YouTube, но это не сработало.Мой веб-сервис не получает никаких параметров.Просто возвращает JSON Array.
Вот мой код интерфейса:
public interface Api {
String BASE_URL = "http://localhost:50553/ClientControl.asmx";
@FormUrlEncoded
@GET("?op=btGetTable")
Call<List<WebServiceDenemeKayitlar>> getRecords();
}
Вот мои значения, которые возвращаются из JSON и получатели для него.
public class WebServiceDenemeKayitlar {
private String KODU;
private String ACIKLAMA;
private boolean KAPALI_FL;
private String TARIH;
private short DURUM;
private int TUTAR;
public WebServiceDenemeKayitlar(String KODU, String ACIKLAMA, boolean KAPALI_FL, String TARIH, int TUTAR, short DURUM) {
this.KODU = KODU;
this.ACIKLAMA = ACIKLAMA;
this.KAPALI_FL = KAPALI_FL;
this.TARIH = TARIH;
this.TUTAR = TUTAR;
this.DURUM = DURUM;
}
public String getKODU() {
return KODU;
}
public String getACIKLAMA() {
return ACIKLAMA;
}
public boolean isKAPALI_FL() {
return KAPALI_FL;
}
public String getTARIH() {
return TARIH;
}
public int getTUTAR() {
return TUTAR;
}
public short getDURUM() {
return DURUM;
}
}
А вот мой вызов в Activity
public void InitData(){
String path = "http://localhost:50553/ClientControl.asmx";
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Api.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Api api = retrofit.create(Api.class);
Call<List<WebServiceDenemeKayitlar>> call = api.getRecords();
Log.wtf("URL Called", call.request().url() + "");
call.enqueue(new Callback<List<WebServiceDenemeKayitlar>>() {
@Override
public void onResponse(Call<List<WebServiceDenemeKayitlar>> call, Response<List<WebServiceDenemeKayitlar>> response) {
List<WebServiceDenemeKayitlar> kayitlar = response.body();
for(WebServiceDenemeKayitlar kayit : kayitlar){
Log.d("KODU" , kayit.getKODU());
Log.d("ACIKLAMA" , kayit.getACIKLAMA());
Log.d("KAPALI_FL" , String.valueOf(kayit.isKAPALI_FL()));
Log.d("TARIH" , kayit.getTARIH());
Log.d("TUTAR" , String.valueOf(kayit.getTUTAR()));
Log.d("DURUM" , String.valueOf(kayit.getDURUM()));
}
}
@Override
public void onFailure(Call<List<WebServiceDenemeKayitlar>> call, Throwable t) {
Toast.makeText(getApplicationContext() , t.getMessage(),Toast.LENGTH_SHORT).show();
}
});
Я кое-что понял, и речь идет о базовом URL.Когда я публикую URL-адрес, который пытается установить браузер, он показывает ошибку о неправильном вызове.Моя ссылка на WebService выглядит так: http://localhost:50553/ClientControl.asmx?op=btGetTable
Как я могу вызвать эту услугу через Retrofit?Или у вас есть какие-либо предложения о том, какую библиотеку мне использовать?