如题所述:前端的代码如下
//修改订单状态export function updatOrderStatus(id,status){ const data={ id, status } return request({ url:"/business/orderInfo/updateState", method:"post", data:data })}
传递如图
后端处理代码如下:
@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(); }
后端打印结果如下:
请问,哪里出现问题?
目前来看,你前端传递的参数应该是json类型,你应该确定你前端发送过来的参数是json类型还是散装参数。如果是json类型,你需要定义一个实体类,这个实体类中有id与status字段,并且在接口上添加@RequestBody注解来指定从http请求体中获取参数。
public AjaxResult updateState(Integer id,Integer status)替换成 public AjaxResult updateState(@RequestParam Integer id, @RequestParam Integer status) {
你的问题是关于前后端数据传递的问题。从你给出的代码和描述来看,前端发送的数据应该是正确的,因为你在前端控制台中可以看到数据已经被正确地打包并发送。然而,后端在接收这些数据时却显示为NULL。
这个问题可能的原因有几个:
id
和status
参数。然而,Spring Boot在处理POST请求时,默认会将请求体中的JSON数据绑定到一个对象上,而不是直接提取参数。你需要创建一个DTO(Data Transfer Object)来接收这些数据,然后在方法参数中使用这个DTO。例如:public class OrderUpdateDTO { private Integer id; private Integer status; // getters and setters}@PostMapping("/updateState")public AjaxResult updateState(@RequestBody OrderUpdateDTO dto) { Integer id = dto.getId(); Integer status = dto.getStatus(); // ...}
综上所述,你可以首先检查你的URL是否匹配,然后尝试使用DTO来接收数据,并确保你的请求设置了正确的Content-Type。
如题:我使用的是若依分离版,在JAVA后端获取从前端传递的数据,因为业务原因需要单独获取前端传递来的数据,比如前端更新数据时需要获取前端传递来的ID,在BAccomOrder类中定义了private Integer id; 但是在后端获取的时候显示BAccomOrder accomOrder accomOrder.getId()无法解析 'BAccomOrder' 中的方法 'getId', 之前
为什么可以获取后端数据,但是要绑定的时候就显示空值 绑定数据会显示但是也会报错
前后端分离 在B/S架构的环境中,前后端分离一直都众说纷纭,没有一个标准。我觉得打开可以分为三个阶段: 传统的分离方法 传统意义上的前后端分离,前端指的是美工、切图、设计,后端是实现代码、数据库相关的实现。美工设计和生成的前端页面,给到程序员来做集成。那么这里其实就不分什么前后端了,程序员从数据库一直搞到前端页面的样式,就是“全能型运动员“。当然,一般传统上的开发协作模式有两种: 一种是前端先写一
前言 上一篇我们遇到'少年,是不是忘了npm run mock?'的警告,这一篇我们就来解决这个问题。 开发 一、安装包 安装koa和一系列的包(我们用的是koa v2): koa koa-bodyparser koa-router boom nodemon mockjs 解释说明一下(知道的同学可以忽略): 名称 作用 koa 我们都知道Node.js有HTTP模块,来处理HTTP请求
使用的若依前后端分离版,前端是vue2,点击添加角色,第一次进来的时候,内容显示有点乱,刷新页面,再打开就好了,如何解决呢
试图弄清楚如何从mysql获取数据并将其显示在ReactJS中。我在后端使用NodeJS和Express。我尝试了在互联网上找到的代码片段,但它不像预期的那样工作。 这是我运行反应应用程序时得到的。 我的NodeJS代码 我的反应码