1

假设我baseURL在给定服务中定义如下:

import axios from 'axios'

const myAPI = axios.create({
  baseURL: 'https://api.domaine.com/',
  withCredentials: false,
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json'
  }
})

export default {

  getUsers(){
     MyAPI.get('/users?order=desc&sort=name');
   },

  getUser(id){
      MyAPI.get('/users/'+id+'?order=desc&sort=name');

  }
....
 

}

在此示例?order=desc&sort=name中,每个请求都重复了如何将其添加到 baseURL 并使其像动态一样:

 baseURL: 'https://api.domaine.com/%s?order=desc&sort=name',

哪里%s可以用'/users/'+idor 代替'/users/',可能是这样,还是有任何其他方法可以解析 URL 以使其动态化?

4

1 回答 1

2

您应该能够使用 params 字段,即:

const myAPI = axios.create({
  baseURL: 'https://api.domaine.com/',
  withCredentials: false,
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json'
  },
  params: {
    order: 'desc',
    sort: 'name'
  }
})

小提琴:https ://jsfiddle.net/kquvw0jy/ (检查控制台网络选项卡以查看请求)

于 2020-06-27T18:39:09.340 回答