Я пишу оболочку для существующих сторонних API REST. токен доступа стороннего производителя истекает через час. Поэтому я не хочу каждый раз получать новый токен и решил использовать старый токен, и если он не работает с неавторизованным исключением, я хочу получить новый токен доступа, а затем сделать вызов еще раз. Я написал ниже код для него.
public Store getVendor(String url,boolean tokenreseted) throws Exception {
Store store =null;
try {
store = (Store) RestClient.get(url, headers, queryparam, Store.class);
}
catch (UnauthorizedException e) {
if(!tokenreseted) { //Try with new Access token.
accessToken=getAccessToken();
return getVendor(url,true);
}
else
throw new Exception("UnauthorizedException exception", e);
}
catch (Exception e) {
throw new Exception("Error occured while getting storeIds",e);
}
return store;
}
Над кодом работает .. Но разве это хорошая практика? или есть другой лучший способ сделать?
Спасибо.