Spring MongoDB REST API 没有 HAL?

Spring MongoDB REST API without HAL?

This Guide 展示了如何轻松地创建 RESTful 到 Mongo 数据库的接口。它以 HAL 格式(超文本应用程序语言)生成 Json 数据,但不幸的是我无法找到支持 HAL 的工作 Android 客户端。

有什么方法可以禁用此 HAL 格式,而无需任何额外操作,只需从数据库中获取文档即可?以便它可以直接解析为我的数据类型类?

使用这种方法以某种方式自动生成 REST 接口真是太好了,看到这段非常短的代码后,我不能再回到手动编写控制器中的所有方法了。

This post好像是同一个话题,但是我不明白这个配置怎么做。

您链接到的指南专门针对使用 Spring Data REST + Spring Data MongoDB,因此要禁用旨在生成超媒体的项目的超媒体,即一个RESTful界面,听起来很奇怪。

在像 Android 这样的移动平台上,问题是您要做什么?您是否要从 MongoDB 中查询 JSON 的一小部分?中间没有任何类型的超媒体层的风险是您可以查询一个巨大的(即庞大的数据集)并削弱服务器和移动设备。

有关超媒体和 Spring Data REST 的更多详细信息,请在 Disable Hypertext Application Language (HAL) in JSON? 查看 Oliver Gierke 的回答。

关于 Android 和 HAL 后端之间的通信能力,当然是可能的。您可能希望查看 Roy Clarkson 的示例 Android 应用程序,该应用程序用于与 SpringOne 2014 at https://github.com/SpringOne2GX-2014/spring-a-gram-android.

中使用的 HAL 后端通信

该演示文稿的幻灯片位于 https://speakerdeck.com/gregturn/springone2gx-2014-spring-data-rest-data-meets-hypermedia