有没有办法在同一个活动中调用2个不同的端点,并在" Onrespond"中找到结果?
我的意思是这样的:
在MainActivity中(例如)我称之为:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://robinchutaux.com")
.addConverterFactory(GsonConverterFactory.create())
.build();
Call<JsonElement> call = stackOverflowAPI.loadQuestions("/Blog/posts");
call.enqueue(this);
并获得呼叫响应&#34; onResponse&#34;方法
但是,如果我也需要调用此页面呢? (甚至更像是10个不同的终点):
&#34; /博客/术语#34;
我应该创建另一个像Call2 ......?
如果是,我怎样才能找到Onrespond中新呼叫的响应? 你能帮我吗? 谢谢。 PS:我知道我的问题来自于我缺乏信息,我是Retrofit的新手。
答案 0 :(得分:1)
您可以查看example
该类中的接口代表每次调用。
public interface GitHub {
@GET("/repos/{owner}/{repo}/contributors")
Call<List<Contributor>> contributors(
@Path("owner") String owner,
@Path("repo") String repo);
}
上述课程正在使您的同步通话。因为它有回调对象作为参数。
public interface GitHub {
@GET("/repos/{owner}/{repo}/contributors")
Call<List<Contributor>> contributors(
@Path("owner") String owner,
@Path("repo") String repo),
Callback<List<Contributor>> callback;
}
如果你像这样添加你的回调,它将是异步调用。因此,您不需要打开自己的线程并轻松获得响应。
同时确保您的Retrofit对象为单个实例或单身。
祝你好运。