axios封裝統一處理介面

2021-10-14 01:35:34 字數 2138 閱讀 6643

檔案位置:

檔案request.js:

/****   request.js   ****/

import axios from 'axios'

import store from '@/store'

import router from "@/router";

import from "@/config/ssourl";

import from "element-ui";

import from '@/utils/cookie.js'

import from "@/utils/auth";

import from "@/api/common";

const errormsg = (message) => );

};//1. 建立新的axios例項

const service = axios.create(,

})// 2.請求***

service.interceptors.request.use(config => //如果要求攜帶在引數中

// config.headers.authorization = '5fb94a47-0904-4368-819f-0d0c7f534a6a'; //如果要求攜帶在請求頭中

config.headers.authorization = token; //如果要求攜帶在請求頭中

}config.headers.username = getusername(); //如果要求攜帶在請求頭中

return config;

}, error => )

// 3.響應***

service.interceptors.response.use(response => = response;

if (config.url.indexof('auth/sso/login') == -1)

// if (typeof response.data === "string")

// 判斷如果是檔案流-結束

switch (data.code)

).then(() => else

}).catch((err) => );

})} else

).then(() => )})}

break;

case '401': //無許可權code

router.push();

break;

case 13:

break

case 14:

break

default:

if (data.data == 1118)

).then(() => else

}).catch((err) => );

})} else

).then(() => )})}

} else 異常`);

}break;

}return promise.reject(

"okr請求異常攔截:" +

json.stringify() || "error"

);} else

} else

}, error => `

break;

}} else

message.error('連線伺服器失敗')

}message.error(error.message);

return promise.reject(error);

})//4.匯出檔案

export default service

介面檔案位置:

介面寫法:

元件中引用:

統一處理異常

1.controlleradvice 註解定義全域性異常處理類 controlleradvice public class globalexceptionhandler 2.exceptionhandler 註解宣告異常處理方法,註解的方法的引數列表裡,還可以宣告很多種型別的引數 controlle...

react請求資料統一處理(axios)

開發中為了方便開發和便於維護,我們將所有的請求統一處理。這樣可以提高我們的開發效率,而且便於後期的維護。在src目錄下新建資料夾api,建立三個js檔案 server.js,serverapi.config.js,api.js.如下圖 server.js檔案處理axios跨域問題。如下 import...

Web應用架構 錯誤統一處理, 和事務統一處理

因為前期,重點放在業務分析上,這兩塊一直認真思考過,覺得很簡單.一開始只是找了乙個nhibernate的示例,就決定把session的open和close和事務 transaction 的commit,放在httpmodule中處理.算是session per request的模式.之後,繼續加入錯...