【问题标题】:Spring MongoDB REST API without HAL?没有 HAL 的 Spring MongoDB REST API?
【发布时间】:2015-03-03 06:06:48
【问题描述】:

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

有没有什么方法可以禁用这种 HAL 格式,只需从数据库中获取文档而不需要任何额外内容?这样就可以直接解析成我的数据类型类了?

用这种方法自动生成 REST 接口真是太好了,看到这么短的代码后,我无法回头手动编写控制器中的所有方法。

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

【问题讨论】:

    标签: spring mongodb rest spring-mvc hateoas


    【解决方案1】:

    您链接到的指南专门针对使用 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 应用程序,该应用程序用于与在 SpringOne 2014 上使用的 HAL 后端通信,地址为https://github.com/SpringOne2GX-2014/spring-a-gram-android

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

    【讨论】:

    • 在 Android 中创建合适的 REST-Client 的问题是,依赖项中有一些冲突的类被包含两次。但由于这只是一个小型私人项目,我选择了最简单的路径,现在我正在为我的服务器手动编写 REST 控制器。我会接受你的回答,因为我发现这些链接很有趣,它帮助我找到了适合我需要的解决方案,尽管不是我最初想要的(我希望这是合适的,我是 SO 新手)。
    猜你喜欢
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    相关资源
    最近更新 更多