2017-01-19 8 views
0

Я работаю с моим собственным приложением с API-интерфейсами, я хочу обработать что-то вроде before request calls. Это означает, что перед вызовом API я могу проверить и что-то сделать, после чего API будет продолжать звонить.Обращение до запроса звонков Дооснащение 2

Например, у меня есть два API с именем settings и login.

Когда пользователь хочет войти в систему, пользователь должен позвонить api login. Но я хочу проверить, не был ли api settings, прежде чем он вызовет settings, позвоните по телефону login.

Если я использую обычно проверку, как черновик ниже, я должен проверить и написать дубликат кода слишком много.

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

И у меня есть много API, которые всегда хотят, чтобы проверить settings API первым.

Любая идея поможет. Благодарю.

ответ

1

В Модификации есть концепция Interceptors. Он выполняется в том же потоке, что и в исходном сетевом вызове, поэтому вы можете вывести и проверить, является ли это сетевым вызовом входа в систему и выполнением сетевых настроек.

+0

U означает, что я могу создать запрос внутри 'public Response intercept (Цепь цепочки) выбрасывает IOException'? – TruongHieu

+1

Точно. Другим примером является [здесь] (http://stackoverflow.com/questions/28226765/make-a-synchronous-retrofit-call-from-inside-an-okhttp-interceptor). –

+0

Спасибо за помощь. Я попробую и позже. – TruongHieu