JSON:API登陆Drupal Core

蒲公英 提交于 周三, 05/01/2019 - 07:50
JSON

突发新闻:我们刚刚将JSON:API模块提交给Drupal 8开发分支。

换句话说,在短短几个月内,所有Drupal 8站点都将支持JSON:API !🎉

这标志着Drupal被优化成为构建耦合和解耦两种应用的API-first平台的又一个重要里程碑。

使用JSON: API,开发人员或者内容创建者在Drupal UI内创建内容模型(无需编写任何代码),并自动获得一个不仅伟大而且强大、符合标准的创作经验,Web Service API会把这些内容拉到JavaScript应用程序,digital kiosks,聊天机器人,语音助手等等。

JSON

启用JSON:API模块后,可以通过JSON:API Web Service API访问所有Drupal entities,如blog posts,users,tags,comments等。JSON: API提供了一个标准化的API用于读取和修改Resources(entities),在Resources(entity references)关系间相互作用,只获取选择的字段(如只有“标题”和“作者”字段),包括相关Resources以避免额外的请求(如关于内容作者的详细介绍),还有Resources集合的过滤、排序和分页等。

除了非常强大之外,JSON:API很容易学习使用,并且使用了我们测试、调试和扩展Drupal站点的所有工具。

Drupal的JSON:API实现酝酿了多年

2016年5月开始开发JSON:API模块,2017年5月发布1.0稳定版。大部分工作都是由一个开发人员在业余时间完成的:Mateu Aguilo Bosch (e0ipso)

在征求和咨询其他人之后,我觉得JSON:API属于Drupal的核心。我第一次提出这个想法是在2016年7月2016年12月更加确信,并于2017年10月建议我们标准化它。

这就是为什么在2017年底,我要求Wim LeersGabe SulliceAcquia成员)开始把大部分时间花在提高JSON:API的稳定性上。

Wim和Gabe很快成为Mateu的主要贡献者。他们编写了数百个测试并添加了缺失的特性,以确保我们严格遵守JSON:API规范

一年后,他们的工作在2019年1月7日的JSON:API 2.0稳定版中达到了顶峰。2.0版本标志着模块向Drupal核心转移的开始。经过严格的审查和更多的改进,该模块终于在今天早些时候提交到core。

开始结束,它花费了28个月,450次提交,32次发布,以及5500多次测试运行。

现有的最佳JSON:API实现

几乎可以肯定,JSON:API模块是目前存在的功能最完整、最容易使用的JSON:API实现。

Drupal JSON:API实现支持JSON:API 1.0规范的所有特性。每个Drupal实体(JSON:API术语中的资源对象)都可以通过JSON:API自动获得。现有的读写访问控制受到尊重。还提供实体的TranslationsRevisions。此外,Querying entities(JSON:API术语,过滤资源集合)不需要任何配置(例如设置一个“Drupal视图”)也是可能的,这意味着前端开发人员可以立即开始他们的工作。

特别值得注意的是,由于Drupal的数据模型和introspection功能,所有这些都成为可能。Drupal已有十年历史的实体API、字段API、访问API,以及最近的配置和类型化数据API,都是使Drupal的数据可以通过web服务API访问的强大基础。这一点不可低估,因为它使JSON:API的实现健壮、深入集成和优雅。

我要特别感谢为JSON:API模块做出贡献的许多贡献者,正是他们帮助将JSON:API添加到Drupal 8。

原文