我的请求未能拨打电话
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MyAPI.BASE_URL)
.addConverterFactory(JacksonConverterFactory.create())
.build();
// prepare call in Retrofit 2.0
MyAPI myAPI = retrofit.create(MyAPI.class);
**// Debug fails here on line below**
Call<List<Place>> call = myAPI.loadPlaces(3, "restaurant");
我的界面
// Base search url, trailing slash needed
String BASE_URL = "https://test.domain.com/";
@GET("place/search")
Call<List<Place>> loadPlaces(
@Query("count") int amountOfResults,
@Query("filter_category") String category);
不幸的是this question没有帮助,而大多数搜索结果都是使用Gson和RxJava
有没有办法在不使用电话的情况下获得结果?
答案 0 :(得分:0)
您可以使用rxJava库,因为您必须在Retrofit实例创建期间使用特定的调用适配器工厂:.addCallAdapterFactory(RxJavaCallAdapterFactory.create())。 此方法的优点是您可以在后台轻松处理请求并收到有关错误的通知。
Observable<List<Place>> pendingResult = myApi.getPlaces();
pendingResult.subscribeOn(Schedulers.io)
.map(places -> {
// pre- process places somehow
})
.subscribe(places -> {
// process result
}, error -> {
// handle error
}}
请参阅本教程:https://medium.freecodecamp.com/rxandroid-and-retrofit-2-0-66dc52725fff#.5h0ecp5dg