sprint boot + vue axios 前端发送数据 后端接受参数时为null 的问题

spring boot + vue axios开发时遇到的问题

当我们前端人员通过json发送数据到后端指定端口时,然后某些字段显示为null ,但是前端人员确实传递了相应的字段值。比如下面的例子。
实体类

import lombok.Data;
@Data
public class Student {
    private Integer pId;
    private String username;
}

实体类与数据库表 字段相对应

spring boot后端代码

@RestController
@Slf4j
@RequestMapping("/test")
public class TestController {
    @PostMapping
    public void test(@RequestBody Student student){
        System.out.println(student);
    }
}

我们可以看到 这里路由时/test post方式 且入参为一个实体类型数据 且入参通过注解@RequestBody声明 按道理说我们前端人员请求时,就可以拿到前端传来的数据。下面我们来看实际是什么样子的
这里采用postman方式模拟前端提交
postman提交数据
而在后端我们接收到的参数是这样的。
接受参数图片
具体原因,可能是springboot解析器在解析json过程中出现问题,因字段名驼峰命名无法匹配字段名导致
我们只需要在实体类上加上该注解就可以完成字段的映射关系

mport com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class Student {
    @JsonProperty("pId")
    private Integer pId;
    private String username;
}

然后我们再次请求 ,查看控制台输出:
问题得到解决
好了,到这里我们就可以解决这个问题了。遇到相关问题的小伙伴,希望你们在处理各种问题的时候都能够如鱼得水呢。感谢大家的支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什么都不会的coder

您的支持是我最大的幸运

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值