* JSON属性如下 * loginName: "jay" * password : "3333" * roles : { id : 4 } * user : { name:"username" , officeName : "java"} * --------------------------------------------------------- * Java实体如下 * MyEntity * String loginName * String password * RoleEntity roles RoleEntity中有一个id属性接收 * UserEntity user UserEntity中有name 、 officeName 属性接收 * */
什么意思呢?
前端发送的JSON数据,除了普通的键值对,还有键--对象, 比如 roles : { id : 4}。
那么,对应的后台Java实体,其属性应该持有一个,叫roles的对象引用,比如 private RoleEntity roles ;
这个RoleEntity对象,应该有id属性,从而接收 id:4这组键值对。
同理,后台Java实体,也应该有一个 UserEntity 来 接收 JSON数据中 { name:"username" , officeName : "java"}。
伪代码如下
//后台Java实体类名 class MyEntity { private String loginName; //映射Json的loginName属性 private String password; //映射Json的password属性 private RoleEntity roles; //映射Json的roles对象 , 引用要与JSON属性一致! private UserEntity user; //映射Json的user对象 ,引用要与JSON属性一致! class RoleEntity{ private Long id; } class UserEntity{ private String name; private String officeName; } } Controller中 @RequestMapping(value="url") public JsonResponse handerSomething(@RequestBody MyEntity ref)