我正在嘗試觀察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
提交
取消