Drupal JSON:API 模块简介 - Drupart
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 及更高版本中,因此无需额外安装。
验证模块是否启用
- 导航到 Drupal 管理菜单中的 扩展 页面。
- 检查 JSON:API 模块是否已列出并启用。
- 如果未启用,可以在此处直接启用它。

配置 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 配置中授予匿名用户的权限,某些资源可能无法访问。
配置步骤
-
确保所有必要的操作已启用。

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

-
为 API 用户创建一个角色。

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

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

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

-
更新请求正文,例如:
{
"data": {
"type": "node--article",
"attributes": {
"title": "示例文章标题",
"body": {
"value": "这是文章的内容。",
"format": "plain_text"
}
}
}
}
- 发送请求并观察响应。如果状态代码为
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
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- 如何保护您的API免受自动化机器人和攻击 | Zuplo博客
- ASP.NET Core Minimal APIs 入门指南 – JetBrains 博客
- 什么是 OpenReview
- Vue中使用echarts@4.x中国地图及AMap相关API的使用
- 使用 Zeplin API 实现 Zeplin 移动化
- Rest API 教程 – 完整的初学者指南
- API Key 密钥 vs OAuth 2.0:身份认证的比较
- Claude API 能使用 OpenAI 接口协议吗?
- 使用DeepSeek R1、LangChain和Ollama构建端到端生成式人工智能应用
- 如何获取通义千问 API Key 密钥(分步指南)
- 您需要了解的OpenAI Assistants API功能 – PageOn.ai
- DRF库详解:用Django轻松搭建功能强大的API服务