【发布时间】:2021-08-07 07:47:03
【问题描述】:
您好,我正在使用改造和 rxjava2 进行异步处理
我必须在与服务器开发人员交谈时从标头中获取值。
但是,我不知道如何从我使用的方法中获取标题。我知道怎么从Call Response中获取,但是不知道怎么带header,因为使用的方法不一样。
我的改造 2 班
private val retrofit: Retrofit = Retrofit.Builder()
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.client(client())
.baseUrl(serverIp)
.build()
val userApi: UserAPI = retrofit.create(UserAPI::class.java)
我的模型类
@POST("user")
fun login(
@Body loginRequest : LoginRequest
) : Single<UserResponse>
data class LoginRequest(
val phone: String?,
@SerializedName("gender")
val gender: String?,
@SerializedName("age")
val age: String?,
@SerializedName("email")
val email: String?
)
data class UserResponse (
override var status: Int,
override var message: String,
override var timestamp: String,
var data: Data
) : CommonResponse() {
data class Data(
var username: String?,
var token: String?
)
}
我的视图模型 (rx)
addDisposable(
model.loginBody(loginRequest)
.subscribeOn(Schedulers.io())
.subscribe({
_loginResult.postValue(it)
}, {
Timber.d("response error, message : ${it.localizedMessage}")
})
)
我现在的情况如下。我需要登录后服务器返回的标头, 从okhttp日志可以看到,但是不知道具体的header怎么获取
【问题讨论】: