axios发送数据的几种方式

axios 发送数据的几种方式

1、最简单的方式是将参数直接拼接在 URL 上,这通常用于传递少量的数据,例如资源的 ID。

javascript 复制代码
const id = 12;
axios.delete(`https://api.example.com/${id}`)
  .then(response => {
    console.log('Resource deleted successfully:', response.data);
  })
  .catch(error => {
    console.error('Error deleting resource:', error);
  });

springboot 后端参数的获取:

java 复制代码
    /**
     *  发送数据的请求的url:
                http://localhost:8090/building/10/3
         请求方式: DELETE
     * @param id
     * @return
     */
    @DeleteMapping("/{id}")
    public String deleteBuilding(@PathVariable("id") int id){
        System.out.println("id = " + id);
        return "success";
    }

2. 使用 params 参数传递参数

javascript 复制代码
axios.delete('https://api.example.com', {params:{id:12}})
  .then(response => {
    console.log('Resource deleted successfully:', response.data);
  })
  .catch(error => {
    console.error('Error deleting resource:', error);
  });
缺陷:
  1、参数都在url上 大小有限制
  2、url可以直接查看、存在不安全

springboot 后端参数获取:

java 复制代码
    /**
     *    发送请求的路径:  http://localhost:8090/building?id=10
     *        参数在url上面 键值对
     *     直接方法上面的参数的名称和key保持一致就可以 
     * @param id
     * @return
     */
    @DeleteMapping()
    public String deleteBuilding(int id){
        System.out.println("id = " + id);
        return "success";
    }

3. 使用 data 参数传递请求体数据

javascript 复制代码
const requestData = { id: 123, name: 'zs' };
axios.delete('https://api.example.com', { data: requestData })
  .then(response => {
    console.log('Resource deleted successfully:', response.data);
  })
  .catch(error => {
    console.error('Error deleting resource:', error);
  });

springboot 后端参数获取:

java 复制代码
    /**
     *    发送请求的路径:  http://localhost:8090/building
     *         请求体的数据: {id:1,name:"zs"}
     *     发送数据过来的是json格式:
     *         把前端json对象转成json字符串、把json字符串转成 javaBean
     *      获取参数的时候:
     *         1、创建一个javabean对象
     *         2、使用注解的方式 @RequestBody 进行自动转换
     *
     * @param id
     * @return
     */
    @DeleteMapping()
    public String deleteBuilding(@RequestBody User user){
        System.out.println("user = " + user);
        return "success";
    }
相关推荐
小蒜学长5 小时前
基于Spring Boot+Vue3的在线游戏技术指导师匹配系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·在线游戏技术指导
weixin_BYSJ19876 小时前
【计算机毕设】房屋租赁系统02647
java·vue.js·spring boot·python·django·课程设计
VX_bysjlw9857 小时前
基于协同过滤的美食推荐系统的设计与实现32221-计算机毕设原创(免费领源码+带部署教程)
java·spring boot·redis·mysql·tomcat·maven·mybatis
专业程序开发源8 小时前
springboot校企合作双选会一站式预约与面试系统16010-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·面试·php·课程设计
code_slave(码畜)9 小时前
微服务架构落地:读写分离架构 —— 主从延迟引发的“刚开单查不到”灾难与破局
spring boot·分布式·spring cloud·微服务·云原生·架构·读写分离
凤山老林9 小时前
构建多通道通知中心:模板化设计、异步削峰与可靠重试实践
spring boot·异步削峰·模板设计
vipxieliang11 小时前
ValidX 验证器缓存机制:如何提升验证性能
java·spring boot
Thomas.Sir12 小时前
第1课:SpringBoot 4.x 快速上手:新特性、环境准备与第一个HelloWorld程序
java·spring boot
程序员小孔.12 小时前
基于 Spring Cloud + Vue 的 JEEWMS 开源仓储管理平台设计与实现
前端·javascript·vue.js·spring boot·spring cloud·开源
RuoyiOffice13 小时前
SpringBoot+Vue3 业财协同架构:预算、费用分摊、发票、往来与凭证怎样避免五套数字
spring boot·vue3·财务管理·spring boot 3·预算管理·ruoyi office·业财协同