Java 返回对同一对象属性筛选

_大侠__ 发布于 2018/08/28 21:24
阅读 617
收藏 0

比如本次查询user对象,user对象中有id,name,pwd,phone,address等等

一处接口需要返回 id,name,phone 

另一处接口需要返回 id,pwd,address

有什么快捷的方法可以分离一个对象的不同的VO方式,类似过滤的效果

加载中
1
吕兵阳
吕兵阳
还是建议尽量别为了复用而复用,容易误解。容易遗忘,容易让别人想不明白。保持业务的单一性。
0
O
_大侠__
_大侠__
继承有考虑,但是会出现很多的继承类,这样不符合规范
0
蓝水晶飞机
蓝水晶飞机

BeanUtils.copyProperty(entity, voClass)

小99
小99
这个方法挺好
_大侠__
_大侠__
的确是不错的方法,谢谢 更想知道有没有类似@Ignore的过滤注解功能
0
水牛拉火车
一个接口类,一个接口工具类,然后两个接口实现类,分别是你需要获取的方法!
0
不大不小开发
不大不小开发

太纠结,返回完整对象,客户端按需取有什么问题吗?

_大侠__
_大侠__
没有问题,但是如果有技术的提升的话,能学到就更好了
0
g
gm100861

service可以返回所有的, VO就是值对象,需要什么加什么. 不要过度的设计,VO就是用来干这事儿的,不同接口VO确实不应该一样.

0
君千殇520
君千殇520

select * ,返回全部,等业务需要什么再封装什么穿给前端就行

你按需拿数据目的是为了什么,传输数据时候按需就可以了

0
码农小胖哥
码农小胖哥

用   

 

import java.beans.BeanInfo;

import java.beans.IntrospectionException;

import java.beans.Introspector;

import java.beans.PropertyDescriptor;

 

前提保证  你实体  getter  setter         参数改成可变参数  如果是jdk8  可以更优雅一些  

 

码农小胖哥
码农小胖哥
回复 @_大侠__ : jdk 8 的 新特性啊 操作集合 还有 optional lambda 默认方法 可能更优雅一些吧
_大侠__
_大侠__
JDK8的话,如何实现,可以请教一点吗? 关键词也可以,我可以学习扩展,谢谢
0
ge洋
ge洋

在 controller 层过滤吧, 把不需要的设为null就好了

返回顶部
顶部