前端发送复杂JSON数据,后端使用@RequestBody接收
* 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)
你看我都这么努力的分享知识给你了,鼓励一下又何妨O(∩_∩)O
大宇期待与你们共同进步!同时也非常感谢最近兄弟们的支持!