개발 시 Ajax에 대한 Request/Response 콘솔로그를 쉽게 볼 수 있다면 디버깅하기에 편할 것으로 예상이 되어 아래와 같이 axios 를 통해 Ajax 요청 시 응답에 대한 콘솔로그를 제작했다.
/** * Axios 응답 * @param res Response||error 객체 * @private */ function _responseLog(res) { var response = res.response ? res.response : res; var color = response.status === 200 ? '#58FA58' : '#FA5858'; var status = response.status ? response.status : res.message; console.groupCollapsed(`[Axios] %c[${status}]`, `background-color:${color}; color:black`, `- ${res.config.url}`); console.info(`url: ${res.config.url}\nmethod: ${res.config.method}\n`); console.info('[Request]\n', '\theaders: ', res.config.headers || '', '\n', '\tparams: ', res.config.params || '', '\n', '\tdata: ', res.config.data || ''); console.info('[Response]\n', '\theaders: ', response.headers || '', '\n', '\tdata: ', response.data || ''); console.groupEnd(); } const service = axios.create({ baseURL: baseUrl, timeout: request.timeout }); /** * Axios의 Response 인터셉터 */ service.interceptors.response.use( response => { _responseLog(response); return res; }, error => { _responseLog(error); return Promise.reject(error); } );
아래와 같이 콘솔로그가 보여지며 꽤 편하게 쓰고 있다.
1004lucifer
1004lucifer
댓글
댓글 쓰기