我有一个返回JSON数组的.net Web服务。我在YouTube上观看了一些教程,但是没有用。我的Web服务没有任何参数。只是返回JSON数组。
这是我的界面代码:
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;
}
}
这是我在活动中的呼唤
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到浏览器时,它显示有关错误调用的错误。我的Web服务的链接是这样的:http://localhost:50553/ClientControl.asmx?op=btGetTable
我如何通过Retrofit调用此服务?或者您对我应该使用哪个库有任何建议?