SpringMVC @ResponseBody 415 错误
问题描述
客户端 Http 请求后台服务器时报 SpringMVC @ResponseBody 415 错误。
问题原因
客户端通过 ajax 请求,采用 post + json 方式:
$.ajax({
url: "/rest/get/vmInventory",
data: JSON.stringify(data),
contentType: 'application/json;charset=UTF-8',
data: data,
dataType: 'json',
type: "POST",
async: false,
success: function (data) {
success(data);
},
error: error
});
经过细心查看传送的 json 字符串,才发现有个名称后台的bean里面对应的名称不一致,前台的名称不是驼峰命名,后台的是驼峰命名。
即请求的 json 字符串名称和服务端的 bean 里面的字段名称没有对应(无法对应前后台的参数)。
解决方法
请求和处理的参数名称命名一致后,错误解决。
由此看见,编码规范的重要性,涉及前后台参数的还需细心。
另外,前后台分离的开发,接口文档及相互沟通非常重要。
参考文章: