如何使用rxjava在2.0版本中获取请求的URL?

我正在尝试升级到Retrofit 2.0,并在我的Android项目中添加RxJava。 我正在做一个API调用,并希望检索URL和它与sqlite中的响应数据作为caching

Observable<MyResponseObject> apiCall(@Body body); 

在RxJava调用中:

 myRetrofitObject.apiCall(body).subscribe(new Subscriber<MyResponseObject>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(MyResponseObject myResponseObject) { } }); 

在Retrofit 1.9中,我们可以在成功callback中获取url:

  @Override public void success(MyResponseObject object, Response response) { String url=response.getUrl(); //save object data and url to sqlite } 

如何使用RxJava进行Retrofit 2.0操作?

Solutions Collecting From Web of "如何使用rxjava在2.0版本中获取请求的URL?"

更新:

再次阅读这个问题:

如果你想访问原始响应,你需要定义你的API接口为:

 Observable<Response<MyResponseObject>> apiCall(@Body body); 

代替:

 Observable<MyResponseObject> apiCall(@Body body); 

您可以使用以下url获取Url:

 response.raw().request().url() 

这里:
response是来自Retrofit的响应
raw是OkHttp的响应
request是来自OkHttp的请求,其中包含Url作为HttpUrl