这里有很多方面:
我怀疑收集资源是否
/transactions
真的返回了你所描述的单个事务。这些表示形式将返回用于物料资源。如果
TransactionRepository
已经是PageableAndSortingRepository
集合资源,则可以通过展开在API根目录中公开的URI模板(名为)来调整集合资源transactions
。默认情况下,这是一个page
,size
和sort
参数。这意味着客户可以请求你想要公开的内容。如果要默认使用分页和排序选项,则实现控制器是正确的方法。但是,要实现类似Spring Data REST公开的表示形式,你至少需要返回的实例,
ResourceSupport
因为这是HAL映射所注册的类型。
如果你考虑一下,这里没有神奇的事物。一个普通的实体没有任何链接,
ResourcesSupport像和这样的类型
Resource<T>允许你包装该实体并在你认为合适的情况下添加链接。Spring Data REST基本上是使用大量隐式可用的有关域和存储库结构的知识来为你完成的。你可以重复使用很多,如下所示。
你需要在此处了解一些帮助程序:
PersistentEntityResourceAssembler
-通常注入到控制器方法中。它以Spring Data REST方式呈现单个实体,这意味着指向托管类型的关联将呈现为链接等。PagedResourcesAssembler
-通常注入控制器实例中。负责准备页面中包含的项目,可以选择使用专用的ResourceAssembler。
Spring Data REST对页面的基本作用如下:
PersistentEntityResourceAssembler entityAssembler = …;Resources<?> … = pagedResourcesAssembler.toResources(page, entityAssembler);
基本上是使用
PagedResourcesAssembler与
PersistentEntityResourceAssembler一起呈现项目。
返回该
Resources实例将为你提供所需的表示形式设计。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)