[英]how to fetch header with Retrofit2 and RxJava2
我有一個API,我需要從標題中提取信息並進行另一個調用。 我嘗試了很多方法,但似乎無法獲取標題。 沒有其他回應。
我已經嘗試讓它返回各種Response對象,例如okhttp3頭文件,Retrofit頭文件,HttpHeaders等,但在第一個char獲取EOF。
@POST("api/booking/search")
fun bookFlight(@Body bookFlightDetails: BookFlightDetails): Observable<Response<Headers>>
class DataManager(context: AllegiantApplication, private val mApi: RxRestServices) {
fun bookFlight(bookingDetails: BookFlightDetails) : Observable<Response<Headers>>? {
return mApi.bookFlight(bookingDetails)
}
fun bookFlight(bookingDetails: BookFlightDetails) {
mDataManager.bookFlight(bookingDetails)
?.subscribeOn(Schedulers.io())
?.observeOn(AndroidSchedulers.mainThread())
?.subscribe({
processHeader(it)
}, {
error -> Log.d("TAG", error.localizedMessage) // <- EOF at 1st char
}
)
}
任何人都可以告訴我如何構建我的api調用以獲得標題?
本月第二次我回答了自己的問題。
這個是雙重的。 1)獲得正確的響應類型。 我去了
Observable<Response<ResponseBody>>
這讓我看到了標題。 然而,第二部分是我在將它傳遞給processHeader之前我正在使用它。我正在給it
消耗響應的processHeader。 我將subscribe方法更改為:
processHeader(it)
至:
val headers = it?.headers()
processHeader(headers)
所以processHeaders只看到標題,響應可以正常“消耗”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.