Android 使用安卓系统中的改型获取带有参数的数据

Android 使用安卓系统中的改型获取带有参数的数据,android,get,retrofit,Android,Get,Retrofit,我正在尝试使用LaravelRESTAPI和Retrovit从数据库中获取数据。我使用一个参数来获取所需的数据,但它会在失败时返回到onFailure,我不知道为什么。这是我的密码: API接口 @GET("getDetilFilm/{idFilm}/getDetilFilm") Call<Film> getDetilFilm(@Query("idFilm") String idFilm); 编辑 我更改了对此的响应 @Override public void on

我正在尝试使用LaravelRESTAPI和Retrovit从数据库中获取数据。我使用一个参数来获取所需的数据,但它会在失败时返回到
onFailure
,我不知道为什么。这是我的密码:

API接口

@GET("getDetilFilm/{idFilm}/getDetilFilm")
Call<Film> getDetilFilm(@Query("idFilm") String idFilm);
编辑

我更改了对此的响应

@Override
        public void onResponse(Call<List<Film>> call, Response<List<Film>> response) {
            List<Film> detil =response.body();
            try
            {
                for(int i=0;i<=detil.size();i++)
                {
                        genre.setText(detil.get(i).getIdGenre());
                        judulFilm.setText(detil.get(i).getJudulFilm());
                        sinopsis.setText(detil.get(i).getKeterangan());
                        durasi.setText(detil.get(i).getDurasi());

                }
            }
            catch(Exception e)
            {
                Log.e("onFailure: ", e.getMessage(), e);
                Log.d("onFail", call.request().url().toString());
            }
        }
有人能帮忙吗?提前感谢

更改线路-

@GET("getDetilFilm/{idFilm}/getDetilFilm")
Call<Film> getDetilFilm(@Query("idFilm") String idFilm);
@GET(“getDetilFilm/{idFilm}/getDetilFilm”)
调用getDetilFilm(@Query(“idFilm”)字符串idFilm);

@GET(“getDetilFilm/{idFilm}/getDetilFilm”)
调用getDetilFilm(@Path(“idFilm”)字符串idFilm);
因为根据您的查询,idFilm应该是一个@Path而不是@query


希望对您有所帮助。

记录错误消息以了解“为什么”,如Log.e(“onFailure:,t.getmessage(),t);你能在这里发布你的最终url吗?使用
Log.d(“onFail”,call.request().url().toString())
以确保您在正确的url上请求。@AnandSingh错误日志返回com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期的BEGIN_对象,但在第1行第2列路径$@SekarAnindya处是BEGIN_数组,这意味着您的pojo类
Film
@Override
        public void onResponse(Call<List<Film>> call, Response<List<Film>> response) {
            List<Film> detil =response.body();
            try
            {
                for(int i=0;i<=detil.size();i++)
                {
                        genre.setText(detil.get(i).getIdGenre());
                        judulFilm.setText(detil.get(i).getJudulFilm());
                        sinopsis.setText(detil.get(i).getKeterangan());
                        durasi.setText(detil.get(i).getDurasi());

                }
            }
            catch(Exception e)
            {
                Log.e("onFailure: ", e.getMessage(), e);
                Log.d("onFail", call.request().url().toString());
            }
        }
 java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
@GET("getDetilFilm/{idFilm}/getDetilFilm")
Call<Film> getDetilFilm(@Query("idFilm") String idFilm);
@GET("getDetilFilm/{idFilm}/getDetilFilm")
Call<Film> getDetilFilm(@Path("idFilm") String idFilm);