【问题标题】:Handle before request calls Retrofit 2在请求调用改造 2 之前处理
【发布时间】:2017-09-23 11:49:41
【问题描述】:

我正在使用自己的 API 应用程序,我想处理类似before request calls 的东西。这意味着在调用 API 之前,我可以检查并做一些事情,之后,API 将继续调用。

例如,我有 2 个 API,分别名为 settingslogin

当用户想登录时,用户必须调用apilogin。但是我想检查apisettings之前是否没有被调用,它会先调用settings,完成后调用login

如果我像下面的草稿一样使用正常检查,我必须检查和编写太多重复的代码。

if (settingDoesntCalled()){
  callSetting(){
     onResponse(){
       callLogin();
     }
  }
}else{
   callLogin();
}

而且我有很多API,总是想先检查settings API。

任何想法都会有所帮助。谢谢。

【问题讨论】:

    标签: android retrofit retrofit2


    【解决方案1】:

    Retrofit 中有Interceptors 的概念。它与原始网络调用在同一线程上执行,因此您可以锁定并检查这是否是登录网络调用并执行设置网络调用。

    【讨论】:

    • 你的意思是我可以在public Response intercept(Chain chain) throws IOException 中创建一个请求?
    • 没错。另一个例子是here
    • 感谢您的帮助。稍后我会尝试并反馈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2020-03-01
    • 2016-08-04
    • 2021-05-21
    • 2018-08-11
    • 2020-05-13
    • 1970-01-01
    相关资源
    最近更新 更多