在使用若依分离版框架时,前端传递的参数为何在后端显示为NULL?如何解决这一问题?

问题描述

在使用若依分离版框架进行开发时,前端向后端传递数据,但在后端获取的数据显示为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
喜欢就支持一下吧
点赞7 分享