这是我访问URL服务的代码
public interface BukuResepMasakanAPI {
public static String baseURL = "http://10.108.91.11/buku_resep_masakan_service/";
//membuat Instance Retrofit
Retrofit client = new Retrofit.Builder()
.baseUrl(baseURL)
.addConverterFactory(GsonConverterFactory.create())
.build();
@Headers({"Content-Type: application/x-www-form-urlencoded"})
@POST("detail_resep_by_jenis?")
public Call<DetailResepModel> getDetailResep(@Query("id_jenis_resep") String id_jenis_resep);
}
这是我调用改造的代码
public void loadData(){
BukuResepMasakanAPI apiService = BukuResepMasakanAPI.client.create(BukuResepMasakanAPI.class);
DetailResepModel model = new DetailResepModel();
Call<DetailResepModel> call = apiService.getDetailResep(idJenisResep);
//proses call
call.enqueue(new Callback<DetailResepModel>() {
@Override
public void onResponse(Call<DetailResepModel> call, Response<DetailResepModel> response) {
DetailResepModel resep = response.body();
Log.d("idjenisresep",""+idJenisResep+" size "+resep.getDetailresep().size());
}
@Override
public void onFailure(Call<DetailResepModel> call, Throwable t) {
Toast.makeText(getApplicationContext(),"Failed to connect",Toast.LENGTH_SHORT).show();
Log.d("failed", "" + t.toString());
}
});
}
当我运行我的应用程序时,没有错误,但我仍然得到大小 = 0,而我有数据要得到
为什么在你的路线中你有一个?,如果你有一个get参数改造知道如何做注释查询,你不必用一个?完成你的路线。
但是你有一个带有x-www-form-urlencode的POST路由,所以我建议你这样做:
@FormUrlEncoded
@POST("detail_resep_by_jenis")
public Call<DetailResepModel> getDetailResep(@Field("id_jenis_resep") String id_jenis_resep);