写在前面
在进行web开发的时候经常需要向前端返回特定的所需字段,以此减少数据传输的额外消耗,同时也确保不相关数据外泄。
spring boot框架下,自带的可选的方案有:jakson json的JsonView定制需要返回的数据。但这个方式有个缺点:不能使用自定义对象包装返回的数据对象,否则无效。
例如下例子:
Result res = ResultUtil.success(retrurn_Object)
说明:用了Result对象封装了retrurn_Object,这种情况下JsonView的注解使用方式会失效。
后面发现spring data jpa中有一种projection的使用方式(不在这介绍了,有兴趣的可以去官网看看),通过这种方式可以返回从数据库中查询的数据的特定字段。所以挪此方式过来,也可以定制返回前端的数据。详细方式详列如下。
通过projection定制返回前端的字段
一看代码就懂怎么使用,已把重要的import也加上,我就不多逼逼了。
projection工具类:
import org.springframework.data.projection.ProjectionFactory;
import org.springframework.data.projection.SpelAwareProxyProjectionFactory;
public class BeanUtil {
public static final ProjectionFact