type
status
date
slug
summary
tags
category
icon
password
🙄
在开始学习多终端系统开发之前,让我们思考以下问题: • 为什么需要前后端分离?传统的开发模式有什么局限性? • JsonAPI和RESTful API有什么区别?各自适用于什么场景? • 在Drupal中如何实现安全可靠的API接口? • 多终端开发会给项目带来哪些挑战和机遇? 通过本文的学习,我们将逐一解答这些问题,帮助你更好地理解和应用Drupal的多终端开发技术。

什么是前后端分离

notion image
notion image
notion image
notion image
JsonAPI只针对实体。RESTful针对任意内容

JsonAPI功能

概述

notion image
notion image
notion image

读数据

notion image
notion image

配合uuid读数据

notion image
notion image

写数据(使用postman)

!!必须安装HTTP Basic Authentication,不然权限不能验证
(视频里提了,但是没强调。又花了十几分钟时间つ﹏⊂)
(之所以不把集成度的如此高的功能放在一个模块,是因为可以选择其他的(一般来说是更安全的)http验证方式)
notion image

首先,要打开jsonapi的写权限

notion image

其次,在http头的

  • Authorizaion: 带上自己有写权限的base64编码后的账户密码
    • notion image
  • Content-Type: application/vnd.api+json
    • notion image
  • Accept: application/vnd.api+json 或者 */*
    • notion image

最后,使用post请求

代理影响dns问题

notion image
在body中添加json内容(参考上面的截图,可以复制之前的文章改)
notion image
notion image

修改数据

找到要修改的文章的uuid

notion image
其他的和新增一样,在请求体json中和请求url的parm中添加要修改的uuid,然后发送修改后的内容
notion image
notion image

删除数据

notion image
(经测试,不是只要有身份信息就行。下图中的host也要勾选上,可能与你在settings.php中的trusted_hosts设置有关)
notion image
notion image

更多

REST UI
drupal后台控制RESTful的界面(RESTful web service 和 RESTUI都要开启)
模块安装详见
notion image
notion image
https:/ww.drupal.org/project/druxt
https:/www.drupal.org/project/next
notion image

🤗 总结归纳

本文详细介绍了Drupal中的多终端系统开发,主要聚焦在前后端分离架构中的JsonAPI功能实现:
  • 前后端分离概念:JsonAPI专注于实体操作,而RESTful可处理任意内容
  • JsonAPI核心功能:
    • 数据读取:支持基础读取和UUID读取
    • 数据写入:需配置HTTP Basic Authentication和适当权限
    • 数据修改:基于UUID进行内容更新
    • 数据删除:需要正确配置trusted_hosts和权限
  • 扩展工具支持:
    • REST UI提供后台管理界面
    • 支持GuzzleHttp发起HTTP请求
    • 可集成Druxt和Next.js等前端框架
通过JsonAPI,Drupal实现了标准化的数据交互接口,为多终端开发提供了可靠的技术基础。开发者需要注意权限配置和安全验证,确保API的安全可靠运行。

📎 参考文章

18.性能优化与推广16.系统升级
Loading...
Narohaz
Narohaz
infp,二次元
Announcement
不成熟者的特征就在于为了理想选择高贵地死去,而成熟者则为了理想选择卑贱地活着。 ——J·D塞林格