Axios API 传参的四种方法

Axios API 传参的四种方法

背景

  • 我们在用 Aixos 调用后端 API 的时候,会先上 Swagger 上看一下 API 的调用方法(没有 Swagger 的去找后端程序员),其中要注意的就是参数的传入方法,目前我遇到的传入方法有四种,分别是:path、query、body、formData,下面分别介绍。

path

  • path 传参,就是把参数放在 url 里面,常用于传 id,比如一个查询用户信息的 API 是 /api/User/,那么如果我们要把 id=007 传进去,就需要用以下代码:
Axios.get('/api/User/007')

query

  • query 传参,也是把参数放在 url 里面,但是在 Swagger 上,不会有 / 这样的东西,传入参数是在 url 后面加上 ?表示分隔,用 & 链接不同参数,常用于传入简单类型变量。比如我们要给一个 /api/Article 传入两个参数:page = 1 和len = 10,如下:
Axios.get('/api/Article?page=1&len=10')

body

  • body 是把一个 包含的数据放到 get 或者 post 后面的括号里面,并不修改 url,常用于传输大量的信息。比如我们收集了用户填的信息,都放到了 brief 里面,然后通过 /api/User/Update 传给后台,代码如下:
Axios.post('/api/User/Update', brief)

formData

  • formData 是表单提交,和 body 区别就是,传的参数不是字典而是一个 formData 的数据。常用于传输图片。参考如下代码:
let formateData = new FormData();
formateData.append('files', this.imageFile);
Axios.post(this.src, formateData).then(function(response) {
	that.$emit('closeAvatar');
});
  • append 会将键值对添加到 formateData 数据中去。