在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/5059836.html

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

发表评论

登录后才能评论

评论列表(0条)

保存