栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在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
实例将为你提供所需的表示形式设计。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420483.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号