spring-mvc响应josn会自动将驼峰命名转下划线方式命名,如:前端传输josn格式为驼峰式questionDesc,代码如下
POST http://localhost:8080/yc/feedback/save123
Content-Type: application/json
{
"recid": 1,
"title": "werewrewrewrew",
"type" : "数据库chengdu",
"questionDesc": "wioeuroiweurouewo",
"solution": "kjdshfkjdsfhdskfhkds",
"status": "1",
"createtm": "2020-09-08"
}
控制台报以下错误
后台将questionDesc自动转化为“question_desc,导致更新数据库时找不到字段question_desc,实际数据库的字段为questionDesc。
解决办法:前台传送数据时不使用驼峰规则,将questionDesc改为questiondesc即可,这种是头痛医头脚痛医脚的做法;
在SpringBoot项目,可以通过设置map-underscore-to-camel-case属性为true来开启驼峰功能
application.properties中:
#开启驼峰命名转换
mybatis.configuration.map-underscore-to-camel-case=true
application.yml中:
mybatis:
configuration:
map-underscore-to-camel-case: true
拓展:spring-mvc响应josn会自动会将驼峰修改为下划线的方式命名,这个规则和vue前端组件的转换方式是一致的