3
我正在使用Restangular構建應用程序。我會在一個地方實現處理像響應攔截器中的401,403,500等錯誤。使用Restangular處理錯誤代碼(401,403)
這是我寫的:
RestangularProvider.setResponseExtractor(function(response, operation, what, url) {
switch(response.meta.code) {
case 200:
// Handle 200
break;
case 401:
// Redirect to login
break;
/* ... */
default:
break;
}
}
實際發生的那就是200是正確看到但這種方法是不是打在所有的401 的JSON我從服務器端獲取它格式化這樣的成功響應:
{"meta":{"apiVersion":"0.1","code":200,"errors":null},"response":{"response":"value"}}
和
{"meta":{"apiVersion":"0.1","code":401,"errors":[{"code":401,"message":"Unauthorized"}]},"response":null}
錯誤。響應標題也包含Status Code:401 Unauthorized
。 我在做什麼錯?
對errorInterceptor,我得到完整的響應,即與頭等,並相同的獲取返回到我的錯誤鉤。有什麼方法可以提取數據並僅返回該數據? 我想從errorInterceptor返回數據,但仍然收到我的錯誤鉤子中的完整響應。 –
爲了澄清 - 所有4xx或5xx狀態碼都使用errorInterceptor,所有其他狀態碼都使用responseInterceptor - 是否正確? – Bungle