没有HAL的Spring MongoDB REST API?

时间:2015-01-05 16:44:26

标签: spring mongodb rest spring-mvc hateoas

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

有没有办法禁用这种HAL格式只是从数据库中获取文件而没有任何额外的?这样它可以直接解析成我的数据类型吗?

使用这种方法以某种方式自动生成REST接口真的很不错,在看到这么短的代码后,我无法回到手动编写控制器中的所有方法。

This post似乎处理相同的主题,但我不明白如何进行此配置。

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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