Экземпляр Axios для полезной нагрузки тела вызова API (создание общего объекта для всех API) - PullRequest
0 голосов
/ 29 апреля 2019

Я использую Axios для вызова API, здесь я создал экземпляр для общего заголовка в каждом вызове API (вещи авторизации).

export const axiosInstance = axios.create({
  baseURL: 'demo API'
})

axiosInstance.interceptors.request.use(function (config) {
    config.headers['Accept'] = 'application/json'
    config.headers['testkey'] = 'randomdata'

  return config
}, function (err) {
  return Promise.reject(err)
})

теперь для звонка

return axiosInstance.post('/api/demo, {myCommonBody})
  .then(data => {
   //action and action..
 })
  .catch(err => {
    throw err;
  }); 

Здесь все, что я должен передать myCommonBody во всем теле API.

Но такие вещи должны быть общими для перехватчика (как в заголовке, который я сделал).

Таким образом, всякий раз, когда мы вызываем любой API с общим экземпляром API, здесь мы получаем часть BODY по умолчанию.

Любое руководство ценит за ответ. Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

axiosInstance.interceptors.request.use(function (config) {
    config.headers['Accept'] = 'application/json'
    config.headers['testkey'] = 'randomdata'

    config.data = Object.assign({}, config.data, {myCommonBody});

  return config
}, function (err) {
  return Promise.reject(err)
})

или

export const axiosInstance = axios.create({
  baseURL: 'demo API',
  data: {myCommonBody}
})
0 голосов
/ 29 апреля 2019
export const axiosInstance = axios.create({
  baseURL: 'demo API',
  data: {'myCommonBody': 'myCommonBodyDetails')
})

И все готово для каждого вызова API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...