android调用接口返回404,android - 404-使用Retrofit2和RXJava2调用API时 - 堆栈内存溢出...

我在使用提到的库下面调用API时遇到问题

我的依赖项:

compile 'com.squareup.retrofit2:retrofit:2.1.0'

compile 'com.squareup.retrofit2:converter-gson:2.1.0'

compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'

compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

compile 'io.reactivex.rxjava2:rxjava:2.0.1'

提供改造实例的代码

@Provides

@Singleton

RxJava2CallAdapterFactory provideRxJavaCallAdapter(){

return RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io());

}

@Provides

@Singleton

Retrofit provideRetrofit(Gson gson, OkHttpClient okHttpClient, RxJava2CallAdapterFactory rxJavaCallAdapterFactory){

return new Retrofit.Builder()

.baseUrl(BASE_URL)

.addConverterFactory(GsonConverterFactory.create(gson))

.addCallAdapterFactory(rxJavaCallAdapterFactory)

.client(okHttpClient)

.build();

}

api界面

@GET("form/{slugOrUUID}")

Observable getForumRx(@Path("slugOrUUID") String slugOrUUID);

最后是我打电话给REST的地方

ForumService forumService = retrofit.create(ForumService.class);

Observable photography = forumService.getForumRx("sample");

photography.subscribeOn(Schedulers.io())

.observeOn(AndroidSchedulers.mainThread())

.subscribe(new Observer() {

@Override

public void onSubscribe(Disposable d) {

Log.i(TAG, "onSubscribe: ");

}

@Override

public void onNext(CoreObject value) {

Log.i(TAG, "onNext: ");

}

@Override

public void onError(Throwable e) {

Log.e(TAG, "onError: ", e);

}

@Override

public void onComplete() {

Log.i(TAG, "onComplete: ");

}

});

结果我得到了404-当我在没有RxJava的情况下调用API时没有问题。 谁能告诉我什么地方出了问题或为什么我会收到这样的错误?

com.jakewharton.retrofit2.adapter.rxjava2.HttpException: HTTP 404

at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:54)

at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:37)

at com.jakewharton.retrofit2.adapter.rxjava2.CallObservable.subscribeActual(CallObservable.java:43)

at io.reactivex.Observable.subscribe(Observable.java:10179)

at com.jakewharton.retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)

at io.reactivex.Observable.subscribe(Observable.java:10179)

at io.reactivex.internal.operators.observable.ObservableSubscribeOn$1.run(ObservableSubscribeOn.java:39)

at io.reactivex.Scheduler$1.run(Scheduler.java:134)

at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:59)

at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:51)

at java.util.concurrent.FutureTask.run(FutureTask.java:237)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)

at java.lang.Thread.run(Thread.java:761)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值