前端发送复杂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

大宇期待与你们共同进步!同时也非常感谢最近兄弟们的支持!

                

posted @ 2022-07-17 12:12  小大宇  阅读(35)  评论(0编辑  收藏  举报