在Spring Boot中为自定义控制器方法启用HAL序列化

在Spring Boot中为自定义控制器方法启用HAL序列化,第1张

在Spring Boot中为自定义控制器方法启用HAL序列化

这里有很多方面:

  1. 我怀疑收集资源是否

    /transactions
    真的返回了您所描述的单个事务。这些表示形式将返回用于物料资源。

  2. 如果

    TransactionRepository
    已经是
    PageableAndSortingRepository
    集合资源,则可以通过扩展API根目录中公开的URI模板(名称为)的链接来进行调整
    transactions
    。默认情况下,这是一个
    page
    size
    sort
    参数。这意味着客户可以请求您想要公开的内容。

  3. 如果要默认使用分页和排序选项,则实现控制器是正确的方法。但是,要实现类似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
实例将为您提供预期的表示设计。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4916643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存