Vue中的post、get、put、delete含义及使用

含义

  • POST、DELETE、PUT、GET 就像对应着数据库的 CRUD(增、删、改、查)
  • 使用标准:

            POST           /uri              创建

            GET              /uri/xxx       查询

            PUT              /uri/xxx       更新或创建

            DELETE       /uri/xxx       删除

  • GET请求,用于向服务器发送查询数据的请求,只是查询,不会增加、修改数据,不会影响服务器上资源的内容。无论进行多少次都,执行后的结果都是一样的,具有幂等性。

  • PUT请求,是用于向服务器发送数据,从而改变数据,修改数据内容。但是不会增加数据的种类。无论进行多少次操作,其结果也都一样,具有幂等性。

  • POST请求,与PUT请求类似。都是向服务器端发送数据,但是改请求会增加数据的种类,创建新的内容。不具有幂等性。

  • DELETE请求,用来删除某一资源。

  • 幂等性:幂等意味着对同一个URL的多次请求会返回一样的结果

使用

  • POST
  • // 前端发起POST请求
    const {data:res} = await this.$http.post("addUser", this.addForm);
  • // 后台接收POST请求
    @RequestMapping("/addUser")
    public String addUser(@RequestBody User user) {
        System.out.println(user);
        user.setRole("普通用户");
        user.setState(false);
        int i = userDao.addUser(user);
        String str = i > 0 ? "success" : "error";
        return str;
    }
  • GET
  • // 前端发起GET请求
    const {data:res} = await this.$http.get("getUpdate?id=" + id);
  • // 后台接收GET请求
    @RequestMapping("/getUpdate")
    public String getUpdateUser(int id) {
        System.out.println("编号:" + id);
        User updateUser = userDao.getUpdateUser(id);
        String users_json = JSON.toJSONString(updateUser);
        return users_json;
    }
  • PUT
  • // 前端发起PUT请求
    const {data:res} = await this.$http.put("editUser", this.editForm);
  • // 后台接收PUT请求
    @RequestMapping("/editUser")
    public String editUser(@RequestBody User user){
        System.out.println(user);
        int i = userDao.editUser(user);
        String str = i > 0 ? "success" : "error";
        return str;
    }
  • DELETE
  • // 前台发起DELETE请求
    const {data:res} = await this.$http.delete("deleteUser?id=" + id);
  • // 后台接收DELETE请求
    @RequestMapping("/deleteUser")
    public String deleteUser(int id) {
        System.out.println(id);
        int i = userDao.deleteUser(id);
        String str = i > 0 ? "success" : "error";
        return str;
    }

注意

  • 一般我们需要提交表单在 Vue 中需要表单验证
  • // 表单验证
    this.$refs.editFormRef.validate(async valid =>{
      console.log(valid);
      if( !valid ) {
        return;
      }
      // 发起请求
      const {data:res} = await this.$http.put("editUser", this.editForm);
      console.log(res);
      if (res != "success") {
        return this.$message.error("操作失败!!!");
      }
      this.$message.success("操作成功!!!");
      // 隐藏修改对话框
      this.editDialogVisible = false;
      this.getUserList();
    });

有兴趣的同学可以关注我的个人公众号,期待我们共同进步!!!

 

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue通常使用Axios作为Http库来发送HTTP请求。下面是一个通用的Axios封装,可以用于发送get、put、postdelete请求。 首先,我们需要在项目安装Axios依赖。可以使用npm或yarn命令来安装: ``` npm install axios ``` 或者 ``` yarn add axios ``` 然后,我们可以在项目创建一个utils文件夹,并在其创建一个http.js文件。在http.js文件,我们可以编写通用的Axios封装代码: ```javascript import axios from 'axios'; // 创建一个axios实例 const instance = axios.create({ baseURL: 'http://api.example.com' // 设置请求的默认基本URL }); // 请求拦截器,可以在请求发送之前做一些处理,比如添加请求头 instance.interceptors.request.use( config => { // 在请求发送之前添加一个Authorization请求头(如果需要) config.headers['Authorization'] = 'Bearer ' + localStorage.getItem('token'); return config; }, error => { return Promise.reject(error); } ); // 响应拦截器,可以在请求返回之后做一些处理,比如处理错误信息 instance.interceptors.response.use( response => { // 在请求成功返回之后处理响应数据 return response; }, error => { // 在请求失败返回之后处理错误信息 return Promise.reject(error.response.data); } ); // 封装get请求 export const get = (url, params) => { return instance.get(url, { params }); }; // 封装put请求 export const put = (url, data) => { return instance.put(url, data); }; // 封装post请求 export const post = (url, data) => { return instance.post(url, data); }; // 封装delete请求 export const del = url => { return instance.delete(url); }; ``` 以上是一个简单的对Axios进行封装的例子。你可以根据自己的项目需求进行相应的修改和扩展。在组件使用get、put、postdelete方法来发送不同类型的请求。示例代码如下: ```javascript import { get, put, post, del } from '@/utils/http'; // 使用get请求 get('/api/users').then(response => { console.log(response.data); }).catch(error => { console.error(error); }); // 使用put请求 put('/api/user/1', { name: 'John', age: 30 }).then(response => { console.log(response.data); }).catch(error => { console.error(error); }); // 使用post请求 post('/api/user', { name: 'John', age: 30 }).then(response => { console.log(response.data); }).catch(error => { console.error(error); }); // 使用delete请求 del('/api/user/1').then(response => { console.log(response.data); }).catch(error => { console.error(error); }); ``` 以上就是一个通用的Axios封装,可以用于发送get、put、postdelete请求。通过这种封装,可以简化和统一项目的HTTP请求处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值