Axios是一款基于Promise的HTTP請求庫,可以在瀏覽器和Node.js環(huán)境下使用。在實際開發(fā)中,我們常常需要將請求頭設(shè)置為json格式,以便API接口能夠正確地接收請求。在這篇文章中,我們將學(xué)習(xí)如何封裝axios請求頭,使其支持json格式。
import axios from 'axios'; axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; // 封裝請求頭 const request = axios.create({ baseURL: 'http://api.example.com', timeout: 5000, headers: { 'Content-Type': 'application/json;charset=UTF-8' } }); export default request;
我們可以先設(shè)置axios的默認(rèn)請求頭為json格式,這樣在所有的請求中都會自動添加Content-Type: application/json;charset=UTF-8頭部信息。然后,我們可以通過create方法來創(chuàng)建一個axios實例,并設(shè)置請求頭為json格式。最后將此實例導(dǎo)出,以便在其他文件中使用。
使用封裝好的請求頭非常方便,只需要在發(fā)送請求的時候調(diào)用對應(yīng)的方法即可:
import request from './request'; request.get('/user', { params: { id: 123 } }).then(response =>{ console.log(response.data); }).catch(error =>{ console.log(error); }); request.post('/user', { name: 'john', age: 25 }).then(response =>{ console.log(response.data); }).catch(error =>{ console.log(error); });
以上代碼通過調(diào)用request對象的get和post方法分別進行了GET和POST請求。由于我們已經(jīng)封裝了JSON請求頭,因此不需要在每個請求中手動設(shè)置請求頭。
總之,通過封裝Axios請求頭,我們可以避免在每個請求中手動設(shè)置請求頭,提高代碼可讀性和重用性,并且使API接口能夠正確地解析請求參數(shù)。