我在spring-hateoas repository in github中也看到了类似的问题,但答案是在stackoverflow中提问。
我在我的项目中使用spring-hateoas PagedResources来获取API端点的返回响应。我现在有一个API端点,其中计数信息将不可用,所以我使用的是Slice而不是Page。但是,在构建响应时,我没有找到SlicedResources,只有PagedResources类,而PagedResources类需要我不想查询或发送的信息(如元素总数)。
这是我为页面创建元数据响应的方法:
final PageMetadata metadata = new PageMetadata(page.getSize(), page.getNumber(), page.getTotalElements(), page.getTotalPages());
我想知道是否有推荐的方法来做我正在为页面做的事情,而不是切片,或者如果这只是在spring-hateoas中没有实现。
答案 0 :(得分:0)
我知道这个问题已经过去了一段时间,但仍然有人在问这个问题,所以我在最近发布的 HATEOAS 中记录了我的发现。
从 HATEHOAS 1.2 开始,不支持诸如
@Override
public SlicedModel<EntityModel<T>> toModel(Slice<T> entity) {
return toModel(entity, EntityModel::of);
}
并且 git 中 spring-data-commons 项目中的问题 DATACMNS-845 是开放的,但似乎处于休眠状态,所以我想说这很少有机会看到曙光。 我可能遗漏了一些东西,但考虑到为大型集合获取页面的所有信息可能是一项昂贵的操作,我发现提供对切片的支持会很好。