问题描述
在使用若依分离版框架进行开发时,前端向后端传递数据,但在后端获取的数据显示为NULL。具体来说,前端通过post请求传递了id和status参数,但后端在接收这些参数时,发现它们的值为null,导致无法正确处理请求。
前端代码
前端的代码如下,用于修改订单状态:
//修改订单状态 export function updatorderstatus(id,status){ const data={ id, status } return request({ url:"/business/orderinfo/updatestate", method:"post", data:data }) }
前端传递的参数如图所示:
[传递参数截图]
后端处理代码
后端处理代码如下,旨在接收前端发送的id和status参数,并据此更新订单状态:
@apioperation("订单管理-修改订单状态") @apiimplicitparams({ @apiimplicitparam(name="id",value = "主键id",required = true,datatype = "integer"), @apiimplicitparam(name="status",value = "状态0进行1结束",required = true,datatype = "integer") }) // @log(title = "订单管理-订单列表", businesstype = businesstype.other) @postmapping("/updatestate") public ajaxresult updatestate(integer id,integer status) { system.out.println("更改订单编号:"+id+"n"); system.out.println("更改订单状态:"+status+"n"); if(objects.isnull(id)){ return ajaxresult.error("输入主键id"); } if(objects.isnull(status)){ return ajaxresult.error("输入状态"); } borderinfo borderinfo=new borderinfo(); borderinfo.setid(id); borderinfo.setstatus(status); system.out.println("更改订单状态:"+borderinfo.tostring()+"n"); orderinfoserviceimpl.update(borderinfo); return ajaxresult.success(); }
后端打印结果如下:
[后端打印结果截图]
立即学习“前端免费学习笔记(深入)”;
问题分析与解决
从上述代码和打印结果可以看出,后端接收到的id和status参数均为null。这是因为后端的updatestate方法在接收参数时,没有明确指定使用@requestparam注解来接收请求体中的参数。
解决方法是修改后端代码中的updatestate方法,在参数前添加@requestparam注解,以便正确接收前端通过post请求传递的参数。修改后的代码如下:
public AjaxResult updateState(@RequestParam Integer id, @RequestParam Integer status) { // ... 其他代码保持不变 }
通过这一修改,后端可以正确接收前端传递的id和status参数,从而解决数据显示为null的问题。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END