Android 使用安卓系统中的改型获取带有参数的数据
我正在尝试使用LaravelRESTAPI和Retrovit从数据库中获取数据。我使用一个参数来获取所需的数据,但它会在失败时返回到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
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);