没有不值得去解决的问题,也没有不值得去学习的技术!

标签: 思考

  • 文章以在 Shopify 创建资源为例,记录了从 REST 迁移到 GraphQL 的实践过程。由于 GraphQL 未提供创建模板文件的 API,作者参考 productCreate 接口进行了尝试。通过在后台手动添加产品并复制网络请求参数,解决了因 GraphQL 版本不一致导致字段不匹配的问题。经过多次修正查询与变量结构,最终成功创建了产品,并总结了请求与响应的最终结构及报错处理方式。

  • 本文参考 GitHub 解决了在接口响应中精确判断具体资源操作权限的问题。通过分析 GitHub 的 REST API 和 GraphQL API,发现其利用 viewerCanUpdate 等字段细化权限控制,而非依赖接口层级配置。最终决定在 GraphQL 中实现 themeAsset 类型,并在响应字段中添加 deletable、renameable 和 updatable,以动态返回前端所需的操作状态。

👨‍💻 个人品牌

王世强|技术实践者 · 独立博客作者

15+ 年 Web 与系统实践经验,持续关注网站基础设施、系统优化、AI 工具与自动化。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

长期建设个人项目,也欢迎合适的技术交流、咨询与合作。

👉 关于我

.env (14) add (16) AI 翻译 (31) Apache (13) Array (19) A Tour of Go (69) Cache (13) CentOS (23) ChatGPT (20) ChatGPT Plus (15) chrome (19) Cloudflare (34) Codex (22) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (16) delete (31) Docker (32) Dockerfile (15) EdgeOne (33) environment variable (19) error (24) file (15) filter (20) Git (27) GitHub (23) Gitlab (15) GLM-5.2 (27) Go (62) go-tour-i18n (14) Google AdSense (29) Go 语言 (24) GraphQL (24) GraphQL API (14) Gutenberg (35) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (22) Migrate (13) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (21) PHP (67) php-fpm (19) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (58) postman (18) Query (17) queue (16) Rancher (24) Redis (51) RESTful (27) RESTful API (23) Shopify (19) SlyTranslate (21) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) W3 Total Cache (39) Windows 10 (46) WireGuard (28) WordPress (134) WordPress 多语言 (13) WPCode (23) Wstunnel (15) Yii (40) Yii 2 (70) Yii 2.0 (51) ZgoCloud (13) 多语言网站 (13) 多语言翻译 (36) 技术博客 (15) 故障排查 (15) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 9 月
 123456
78910111213
14151617181920
21222324252627
282930