HAL、JSONAPI、Collection+json、odata 其他超媒体的优缺点

Posted

技术标签:

【中文标题】HAL、JSONAPI、Collection+json、odata 其他超媒体的优缺点【英文标题】:HAL, JSONAPI, Collection+json, odata other hypermedia pro and cons 【发布时间】:2016-01-27 07:54:03 【问题描述】:

有很多超媒体可用于一个 restful api。我不确定哪个适合哪种情况。这是我第一次尝试restful api,所以我无法预见使用它的问题和优势。我想要的是可以查询并且支持批处理(特别是 GET 请求)。

Odata 似乎功能完整,也是 oasis 标准,但对我来说似乎有点矫枉过正。它的查询能力灵活而复杂。更重要的是,没有任何 odata 4 的 php 实现。如果我使用它,我需要自己做。我现在正试图避免这种情况。

Hal 看起来太简单了,什么都做不了。

Collection+json 看起来不错。但是好像没有任何批量操作能力

jsonapi:看起来很简单。具有查询能力和批处理操作(带扩展名)。但它不支持 GET 请求的批量操作。它也处于稳定状态。但我还没有找到任何评论。

您对此有何经验?我应该如何选择其中的超媒体?任何见解都会有所帮助。我还想听听除此之外的任何其他超媒体。

目前我对 json-api 和 collection+json 感到困惑。

【问题讨论】:

【参考方案1】:

Hal 看起来太简单了,什么都做不了。

它被世界上一些最大的公司用作许多不同生产 API 的基础,例如。亚马逊

【讨论】:

对不起,但它没有回答我的问题。我不明白为什么一个比另一个更好,以及如何选择它来解决任何特定的需求。 你的最终决定是什么?:) 我也有同样的问题。

以上是关于HAL、JSONAPI、Collection+json、odata 其他超媒体的优缺点的主要内容,如果未能解决你的问题,请参考以下文章

如何使用DRUPAL 8中的RESTful Web服务API创建field_collection_item

Firefox中的Hal + json查看器

node.js 和 mongodb:async 的 await collection.find 与 collection.find.exec

节点js快速路由[无法获取:/collection#] [重复]

JSONAPI 实现

JavaScript-Runoob-JS HTML DOM :集合(Collection)