vue2向springboot传值接收不到的解决方法

 更新时间:2023年07月09日 16:20:43   作者:苏禾呀  
本文主要介绍了vue2向springboot传值接收不到的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

我们在开发项目时,经常会前后端分离,这样方便开发和测试。但是前后端分离也会导致许多的BUG出现。

这是一段vue2代码:

let url = this.urls.search + "/" + this.currentPage + "/" + this.pageSize;
axios({
    method: "POST",
    url: url,
    data: this.searchForm
}).then((res) => {
    if (res.status === 200) {
      this.loading = false;
      this.menuList = res.data.data;
    } else {
        this.$message({
        type: 'error',
        message: res.data.msg
      });
    }
}).catch((error) => {
    console.log(error);
    this.loading = false;
    this.$message.error("服务器异常,请稍后再试");
});

这是一个常见的axios方法,其作用是进行分页+条件查询。在这个方法中,我们需要向后端传的值有currentPage(当前页码)、pageSize(一页数据条数)和查询的对象。我们再来看后端代码:

    @PostMapping("/list")
    public Result<List<BusinessVO>> list(Integer pageIndex, Integer pageSize, BusinessDTO businessDTO) {
        return Result.getSuccessResult(businessService.list(pageIndex, pageSize, businessDTO));
    }

这是后端controller层的方法,通过url来实现方法的调用。

但是这样写的话,会发现一个问题:前端的参数后端(controller)接收不到。

原因是在接收前端的参数时需要在后端参数前加注解。正确代码如下:

    @PostMapping("/list/{pageIndex}/{pageSize}")
    public Result<List<BusinessVO>> list(@PathVariable Integer pageIndex, @PathVariable Integer pageSize, @RequestBody BusinessDTO businessDTO) {
        return Result.getSuccessResult(businessService.list(pageIndex, pageSize, businessDTO));
    }

一般传参数时,页数,页面大小等和数据库无关的字段会直接加在url上,@PostMapping("/list/{pageIndex}/{pageSize}") 在这里加上这两个参数,在参数前面加上@PathVariable注解;前端直接把这两个参数加在url后面即可this.urls.search + "/" + this.currentPage + "/" + this.pageSize。

而条件查询的参数一般不外显,直接使用@RequestBody会更方便,前端数据放在data里面。

注意:在使用@RequestBody注解时,方法必须使用@PostMapping(POST请求)!!!如使用@GetMapping(Get请求)则会报错!!!

到此这篇关于vue2向springboot传值接收不到的解决方法的文章就介绍到这了,更多相关vue2 springboot传值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MybatisPlus 主键策略之type=IdType.ASSIGN_ID等详解

    MybatisPlus 主键策略之type=IdType.ASSIGN_ID等详解

    雪花算法(雪花)是微博开源的分布式ID生成算法其核心思想就是:使用一个64位的长型的数字作为全局唯一ID,这篇文章主要介绍了MybatisPlus 主键策略(type=IdType.ASSIGN_ID等详解),需要的朋友可以参考下
    2024-04-04
  • J2EE Servlet基础在浏览器上运行HelloServlet的方法

    J2EE Servlet基础在浏览器上运行HelloServlet的方法

    这篇文章主要介绍了J2EE Servlet基础在浏览器上运行HelloServlet的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • SpringBoot集成mybatis实例

    SpringBoot集成mybatis实例

    本篇文章主要介绍了SpringBoot集成mybatis实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • JavaMail与Spring整合过程解析

    JavaMail与Spring整合过程解析

    这篇文章主要介绍了JavaMail与Spring整合过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Eclipse 出现Failed to load JavaHL Library解决方法

    Eclipse 出现Failed to load JavaHL Library解决方法

    这篇文章主要介绍了Eclipse 出现Failed to load JavaHL Library解决方法的相关资料,今天使用Eclipse 时出现以上错误,本文说明如何更更正,需要的朋友可以参考下
    2016-11-11
  • SpringBoot创建并简单使用的实现

    SpringBoot创建并简单使用的实现

    这篇文章主要介绍了SpringBoot创建并简单使用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • idea 普通文件夹 转换成 module操作

    idea 普通文件夹 转换成 module操作

    这篇文章主要介绍了idea 普通文件夹 转换成 module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Mybatis in条件传参的三种实现方式(直接$,List,[])

    Mybatis in条件传参的三种实现方式(直接$,List,[])

    这篇文章主要介绍了Mybatis in条件传参的三种实现方式(直接$,List,[]),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • spring boot添加新模块的方法教程

    spring boot添加新模块的方法教程

    这篇文章主要给大家介绍了关于spring boot添加新模块的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Spring注解实现Bean自动装配示例详解

    Spring注解实现Bean自动装配示例详解

    这篇文章主要给大家介绍了关于Spring注解实现Bean自动装配的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论