axios实现RESTful请求规范

简介: GET:获取数据后端将参数当做url 参数 接收 this.axios.get('/url/user', { params: { "name": "kevin", "password": "123456" } }) .
  • 一般格式

axios.get(url[, config])
axios.delete(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
get和delete的格式类似,post、put、patch格式类似

  • GET:获取数据
    后端将参数当做url 参数 接收
this.axios.get('/url/user', {
    params: {
        "name": "kevin",
        "password": "123456"
    }
})
 .then((response)=> {
    console.log(response)
})
.catch((error)=> {
    console.log(error);
});

后端用query接收参数,URL格式:"/url/user?name=kevin&password=123456"

  • POST:新增数据
    使用post方法时header['content-type']默认为application/json
this.axios.post('/url/add', {
          "username": this.userinfo.username,
          "password": this.userinfo.password
    })
    .then((response) => {
        console.log(response);
    })
    .catch((error) => {
        console.log(error);
    });

后端接收用JSON接收参数,URL不会体现变化

如果修改为application/x-www-form-urlencoded,那么需要引入qs.stringify序列化

this.axios.post('url/add', this.qs.stringify({
          "username": this.userinfo.username,
          "password": this.userinfo.password
        }), {
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
        }
    })
    .then((response) => {
        console.log(response);
    })
    .catch((error) => {
        console.log(error);
    });

后端使用FORM接收参数

  • PUT:更新数据
    PUT和POST类似
this.axios.put('/url/update', {
    "userId": this.userinfo.Id,
    "userName": this.userinfo.username
})
.then((response)=> {
    console.log(response)    
})
.catch((error)=> {
    console.log(error);
});

后端接收方式也类似

  • DELETE:删除数据
    使用delete方法时,由于数据包中没有默认的header['content-type']=application/json,此时数据向后端传输时,需要做一层data封装.
this.axios.delete('/url/delete', { 
    data: { username : "admin" , password : "123" } 
})
.then((response)=> {
    console.log(response)                   
})
.catch((error)=> {
    console.log(error);
});

后端接收用JSON接收参数
或者后端将参数当做url 参数 接收

this.axios.delete('/url/delete', { 
    params: { username : "admin" , password : "123" } 
})
.then((response)=> {
    console.log(response)                   
})
.catch((error)=> {
    console.log(error);
});

后端用query接收参数, URL格式:"/url/delete?name=admin&password=123"
或者后端将参数当做url 参数 接收

this.axios.delete('/url/delete/' + id)
.then((response)=> {
    console.log(response)                   
})
.catch((error)=> {
    console.log(error);
});

后端用param接收参数, URL格式:"/url/delete/id"

目录
相关文章
|
22天前
|
资源调度 JavaScript
|
2月前
|
Java 网络架构 Spring
springboot中restful风格请求的使用
本文介绍了在Spring Boot中如何使用RESTful风格的请求,包括创建HTML表单页面、在application.yaml配置文件中开启REST表单支持、编写Controller层及对应映射处理,并进行服务启动和访问测试。HTML表单默认只支持GET和POST请求,因此对于DELETE和PUT请求,需要使用隐藏域`_method`来支持。
springboot中restful风格请求的使用
|
22天前
|
缓存 JavaScript 搜索推荐
|
2月前
|
JavaScript 前端开发 开发者
vue中使用axios请求post接口,请求会发送两次
vue中使用axios请求post接口,请求会发送两次
|
14天前
|
Python
axios的get请求传入数组参数
【10月更文挑战第11天】 当使用 `axios` 发送包含数组参数的 GET 请求时,默认的序列化方式可能与后端(如 Django)不兼容,导致无法正确获取数组参数。解决方案是通过 `paramsSerializer` 指定自定义序列化函数,或使用 `qs` 库来格式化数组参数,确保前后端一致。示例代码展示了如何使用 `qs` 库设置 `arrayFormat` 为 `"repeat"`,以符合 Django 的解析要求。
11 2
|
20天前
|
JSON JavaScript 前端开发
axios的post请求,数据为什么要用qs处理?什么时候不用?
axios的post请求,数据为什么要用qs处理?什么时候不用?
|
3月前
|
Python
axios的get请求传入数组参数
axios的get请求传入数组参数
|
2月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
36 6
|
2月前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例