从列表中获取选定的领域

问题描述

[{"uSID":1,"userId":"12","firstname":"shiva","lastname":"shubham","email":"shiva","phone":"586868768","active":"y","profile":{"pRID":98,"profileId":"78","profileName":"sh","paddress":"pune","surname":"sharma","pfname":"master"},"branch":{"bRID":2,"branchName":"zende","branchCode":"7899","add2":null,"city":null,"baddress":null,"add1":null}},

这是我的json格式。在我的用户中,有一个外键配置文件和分支。在使用/ geAllUsers进行提取时,我只需要显示ex的几个分支字段即可。

"bRID":2,"branchCode":"7899

我用来在spring数据jpa中写入哪种代码

解决方法

由于提供的信息有限,因此我假设您发布的JSON是从API向用户的当前输出。

这可以通过以下两种方式处理

  • 添加自定义序列化器-您可以添加自定义序列化器,并用其注释DAO / Entity类。这在将对象转换为JSON时起作用。因此,spring返回所有字段,但是只有选定的字段会序列化为json并返回给用户。 缺点-由于要在类级别添加注释,因此这将适用于返回此对象的每个实例。为此,您可以创建一个DAO,将注释添加到DAO,将对象转换为DAO,然后返回DAO。

  • 用户映射框架,例如ModelMapper或MapStruct -这将是更理想的方法。这是在服务内发生的,这与序列化时发生的先前的事件不同。您可以根据需要(带有所需字段)创建DAO类,并使用这些框架中的任何一个将您的实体转换为必需的DAO。代码将非常少且经过优化。而且只有在要限制字段时才可以使用它。

您可以在互联网上获得很多有关上述两个方面的教程。

P.S。 -如果您正在考虑在ModelMapper和Mapstruct之间使用哪一个,则Mapstruct的性能更好,而ModelMapper易于实现。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...