我正在使用Retrofit + RxJava + GSON来使用rest api进行搜索。构建API的方式是,它返回一个对象列表,总结果作为响应中的标题(total-results
):
@GET("search/events?eager=[competition,tv]")
fun searchEvents(@Query("q") q: String, @Query("category") category: String, @Query("order") order: String): Single<List<Event>>
我想返回Single,其中SearchResult是:
SearchResult {
var total: Int
var events: List<Event>
}
这可能吗?
答案 0 :(得分:1)
而不是Single<List<Event>>
修改您的界面以返回Single<Response<List<Event>>>
。
Response类包含从API调用返回的正文和标题。
您可以使用response.isSuccessful()
检查是否成功,然后您可以使用response.body()
和response.headers()
标题来访问正文。
要从那里获得所需的输出,您可以使用RxJava中的map()
。