我正在尝试观察String我的aAPI但我不知道为什么当我订阅它时它总是跳转到onError方法,即使它很好地创建了我的 Retrofit Builder。
我的NetworkModule:
@Module
class NetworkModule{
/**
* Provides the Post service implementation.
* @param retrofit the Retrofit object used to instantiate the service
* @return the Post service implementation.
*/
@Provides
fun provideUserAuth(): ApiSMS{
return Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build()
.create(ApiSMS::class.java)
}
}
我的ApiCall:
interface ApiSMS {
@get:POST("/api/auth/sign_in")
val getAuthentication: Observable<Credentials>
@get:GET("/api/status")
val getStatus: Observable<String>
}
我ViewModel从我观察的地方。当我调用getStatus创建我的 Retrofit 实例但只继续onSubscribe然后onError:
//Get Api Status
fun getStatus() {
apiSMS.getStatus
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(getObserver())
}
private fun getObserver(): Observer<String> {
return object : Observer<String> {
override fun onComplete() {
Log.d("test", "onComplete")
}
override fun onSubscribe(d: Disposable) {
Log.d("test", "onSubscribe")
disposable = d
}
override fun onNext(t: String) {
Log.d("test", "onNext")
Log.d("test", t)
}
override fun onError(e: Throwable) {
Log.d("test", "onError")
}
}
}
猛跑小猪
相关分类