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方式模拟前端提交
而在后端我们接收到的参数是这样的。
具体原因,可能是springboot解析器在解析json过程中出现问题,因字段名驼峰命名无法匹配字段名导致
我们只需要在实体类上加上该注解就可以完成字段的映射关系
mport com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class Student {
@JsonProperty("pId")
private Integer pId;
private String username;
}
然后我们再次请求 ,查看控制台输出:
好了,到这里我们就可以解决这个问题了。遇到相关问题的小伙伴,希望你们在处理各种问题的时候都能够如鱼得水呢。感谢大家的支持