如何在简单的GET回调中修复"No Retrofit annotation found."?



我正在在线学习教程,使用 retrofit2 从本地 API 获取信息,但是当我运行代码时,我得到:

java.lang.IllegalArgumentException:未找到 Retrofit 注释。(参数 #1(

我注意到大多数在线答案在发布时都有这个问题,但我要做的就是获取数据库中的所有项目。API部分可以工作,当我转到模拟器上的本地IP(10.0.2.2(时,它给了我想要的东西。我不明白为什么我会遇到这个问题,实际上仍在尝试完全理解基本代码。我也看到了一些使用 .enqueue 的解决方案,但我想我不完全了解如何使用它。

@GET("/institute/Students")
void getStudent(Callback<List<Student>> callback);
InstituteService serv = restService.getService();
serv.getStudent(new Callback<List<Student>>() {...}

我正在尝试从我的数据库中获取学生列表,但我被困在这里。启动回调后,它直接进入 onFailure 活动。任何正确方向的点都值得赞赏。

这些接口描述应返回Call而不是void

import retrofit2.Call;
import retrofit2.http.GET;
...
@GET("institute/students")
Call<ArrayList<Student>> getStudents();

请注意,您使用的是callback而不是call,而且我想这也是作为返回类型而不是作为参数。 此接口将返回学生列表,如果需要,可以将查询参数传递给函数(例如。学生证(

@GET("institutes/students/") 
Call<List<Student>> getStudentsData();

有关详细信息,请参阅此文章

相关内容

最新更新