前端传递的JSON数据如下:

{
			"menuDto":{
				"menuId":514
				,"menuName":"个人中心"
				,"status":0
				,"path":"/person"
				,"parentId":10			
			}
}

Java后端controller接口如下:

@PostMapping(value = "/updatemenu.json", produces = { "application/json;charset=UTF-8" })
public AjaxResult updateMenu(@RequestBody Map<String, String> reqMap){
     //测试
     System.out.println(reqMap);
     return AjaxResult.success();
}

结果请求已发送,返回错误信息,如下:

{
	"retCode": "9999",
	"retMsg": "menuDto数据类型格式不正确"
}

错误原因:后端接口方法接收的参数,用的是Map<String, String>

也就意味着你前提的JSON串的value,必须是String类型

我传递的JSON串:menuDto对应的是一个"{}",是一个对象,因此,后端接口中的参数类型应改为Map<String, Object>即可!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐