Drupal JSON:API 模块简介 - Drupart

作者:API传播员 · 2025-11-02 · 阅读时间:5分钟

JSON:API 是一个强大且标准化的 API 规范。在 Drupal 8 及更高版本中,核心模块中包含了名为“JSON:API”的模块,该模块实现了 JSON:API 规范。除了 Rest Web Service 模块等其他方法之外,该模块还为 Drupal 生态系统中的 API 创建提供了一种无缝的解决方案。


什么是 JSON:API?

JSON:API 是一种 API 规范,定义了客户端应用程序如何从服务器请求和接收资源。它通过一组结构化的请求和响应约定,使开发人员能够更轻松地与 API 交互。该规范的主要优点包括:

  • 确保一致性
  • 简化数据检索
  • 减少构建 API 时对自定义配置的需求

接下来,我们将详细介绍如何在 Drupal 中启用和使用 JSON:API 模块。


启用 JSON:API 模块

要开始使用 JSON:API 模块,请确保您的 Drupal 网站已启用该模块。幸运的是,该模块作为核心模块包含在 Drupal 8 及更高版本中,因此无需额外安装。

验证模块是否启用

  1. 导航到 Drupal 管理菜单中的 扩展 页面。
  2. 检查 JSON:API 模块是否已列出并启用。
  3. 如果未启用,可以在此处直接启用它。


配置 JSON:API 模块

默认情况下,Drupal 中的 JSON:API 模块提供了有限的配置选项,主要集中在指定允许的操作上。


与 JSON:API 交互

启用并配置 JSON:API 模块后,您可以开始测试并与新创建的 API 交互。

读取资源示例

以下是一个示例 URL:

http://localhost/jsonapi/node/article

该 URL 将通过 JSON:API 从 文章 节点资源类型中获取数据,并以 JSON:API 规范格式显示结果。您可以通过修改 node/article 部分,与其他资源类型交互或访问 Drupal 网站中的特定实体。

使用工具测试 API

您可以使用 Postman 或 cURL 等工具与 JSON:API 进行交互。需要注意的是:

  • 默认情况下,未进行身份验证的用户被视为“匿名”。
  • 根据 Drupal 配置中授予匿名用户的权限,某些资源可能无法访问。

配置步骤

  1. 确保所有必要的操作已启用。

  2. 启用 HTTP 基本身份验证模块。

  3. 为 API 用户创建一个角色。

  4. 为该角色授予必要的权限。
    访问路径:/admin/people/permissions/api_user

  5. 在 Postman 中配置授权,使用新创建的账户。

  6. 添加 Content-Type 标头,值为 application/vnd.api+json

  7. 更新请求正文,例如:

{
  "data": {
    "type": "node--article",
    "attributes": {
      "title": "示例文章标题",
      "body": {
        "value": "这是文章的内容。",
        "format": "plain_text"
      }
    }
  }
}
  1. 发送请求并观察响应。如果状态代码为 201,则表示您已成功向 JSON:API 发出经过身份验证的请求,并创建了一个类型为 article 的节点。


结论

JSON:API 是一个强大且标准化的 API 规范,它在 Drupal 8 及更高版本中作为核心模块的无缝集成,为开发人员提供了标准化的 API 接口。这不仅减少了对自定义配置的需求,还通过清晰的 URL 模式和 JSON:API 规范格式,使与 Drupal 网站数据的交互变得更加简单高效。

通过启用 JSON:API 模块,您可以轻松实现数据的读取、创建和更新操作。此外,JSON:API 模块还支持分页、排序、文件上传等高级功能,进一步提升了其灵活性和实用性。

有关更多详细信息,请参考 Drupal JSON:API 模块文档,以探索更多功能和使用场景。

原文链接: https://drupart.co.uk/blog/introduction-drupal-jsonapi-module