我正在尝试观察String我的aAPI但我不知道为什么当我订阅它时它总是跳转到onError方法,即使它很好地创建了我的 Retrofit Builder。我的NetworkModule:@Moduleclass 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 Statusfun 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") } }}
1 回答
猛跑小猪
TA贡献1858条经验 获得超8个赞
如果出现该错误,您可能想检查您的BASE_URL
NOT to be withouthttps
还要确保打印您的方法给出的错误。您应该可以从方法中这样调用它onError
:
override fun onError(e: Throwable) { e.printStackTrace() }
添加回答
举报
0/150
提交
取消