java投影查询_java – 如何将投影应用于Spring Data REST查询方法资源?

我正在使用

Spring Data REST 2.1.4.RELEASE.

我建立

>实体预订,

>其REST存储库(扩展CrudRepository)名为BookingRepository

>和投影BookingDetails(注释为@Projection(name =“details”,types = Booking.class))用于返回一些爆炸的链接实体,例如资源,活动,申请人等.

客户端通过… / rest / bookings获取所有预订,JSON响应包含链接实体的链接.如果它添加了?projection = details,则链接的实体将被展开并返回.这很棒.

现在我将这个自定义方法添加到存储库:

List findByApplicant(@Param("applicant") Person applicant);

当客户端使用… / rest / bookings / search / findByApplicant?applicant = 5调用它时,似乎无法请求详细信息投影.以下尝试被忽略:

>在查询字符串中添加& projection = details

>使该方法始终返回BookingDetails:

List findByApplicant(@Param("applicant") Person applicant);

总而言之,自定义搜索方法(findBy *)永远不会返回投影.除非使用@RepositoryRestResource(excerptProjection = BookingDetails.class)注释存储库,但这会导致一些问题,首先客户端必须始终使用相同的投影.我们如何允许用户使用findBy *方法进行投影?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值