首页
学习
活动
专区
圈层
工具
发布

为什么我使用 GraphQL 而放弃 REST API?

至此,我再也无法回过头来享受使用 REST 的工作了。 REST 有什么问题吗? 每个 REST API 都是独特的 公平地说,REST 甚至不是一个标准。...GraphQL 如何做得更好? 对于所有讨论过的问题,我倾向于认为,在 CRUD 应用程序中,有一种标准方式来生成和使用 API 会非常棒。...虽然 Netflix falcor 似乎在解决类似问题,它比 GraphQL 早几个月发布在 GitHub 上,也更早地引起我的注意,但很明显,似乎 GraphQL 赢了。...除了一些客户端库中存在的一些小问题(现在已经解决了)之外,我强烈推荐你仔细看看 GraphQL 在你的技术栈中可以提供什么。它已经出技术预览四年多了,而且这个生态系统正在变得更加强大。...由于 Apollo 客户端库架构简单,我能够将一个使用 React.js 与 Redux 的应用慢慢过渡到 React Apollo,一个组件一个组件的,只在有意义的时候才这样做。

3.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2022 年10个优质的 Node.js CMS 平台分享

    ❝hi, 大家好, 我是徐小夕,之前和大家分享了很多「低代码可视化」和「前端工程化」相关的话题, 今天继续和大家聊聊「CMS」系统.❞ 内容管理系统 (「CMS」) 使没有强大技术背景的人也能够轻松发布内容...在本文中,我将和大家分享一下 「2022」 年使用的一些最佳 「Node.js CMS」,希望可以作为我们选择最佳 「CMS」 的指南。 什么是内容管理系统?...Strapi 「Strapi」 是一种流行、灵活且开源的无头 「CMS」,使我们能够创建丰富的数字体验。...「Strapi」 提供了 「REST」 和 「GraphQL API」,开发人员可以使用这些 「API」 来访问存储在其存储库中的内容。...特点: 完全可定制 REST 和 GraphQL API 插件市场 国际化支持 网址: https://strapi.io/ 2.

    5.3K20

    使用 strapi 快速构建 API 和 CMS 管理系统

    安装 strapi 直接使用官方提供的快速开始的模版,这里我使用 TypeScript 的模版,命令如下: npx create-strapi-app@latest my-api --quickstart...修改 strapi 管理界面为中文 接下来我们进行项目代码的配置,将界面设置为中文,使用自己熟悉的开发工具打开工程,这里我使用 VSCode,项目的结构如下图所示: 这里我使用了文件折叠的插件,才让下面那些配置文件显示成层级结构的...快速开发一套 CRUD 接口 创建模型 这里我就拿项目当中最常用的用户管理来说,首先我们需要一个用户表,点击 模型构建器,可以看到已经有一个 User 的集合类型,这个是 strapi 自己提供的,我们当前登录的用户的数据就存储在这个模型当中...filters[username]=xiao strapi 也提供非常丰富的插件,比如要使用 GraphQL,直接安装 GraphQL 插件即可。...实战用户注册接口 通过 strapi 我们已经得到了 user-profile 相关的增删改查 API 接口,但是在实际业务开发当中,不可能只有这种简单的增删改查接口,这里我带领大家实现一个用户注册的接口

    15.1K44

    Next.js + 云开发Webify 打造绝佳网站

    这种能“动”的 SSG 自然是我所需要的,保持静态访问,而又能在我新增修改文章的时候,站点能够自动更新。绝佳!! 为什么还需要来Webify“折腾”一番?...既然上面已经很酷了,为什么会有今天的文章,为什么还需要折腾一番? 原因也很简单:成本略高,为了不错的访问速度,你需要一台性能不错的虚拟机,一定的带宽。对于一般个人博客,投入不划算。...cool~~ 问题是如果你的站点数据来源于类似 strapi 这种 serverless cms 怎么办?...具体以 strapi 为例子: strapi 数据发布 web hook到自定义的桥接服务。 桥接服务更新站点git。 Weify触发重新部署。...async read(size) { const result = await getPostsWithGraphql(`${cmsUrl}/graphql

    1.8K30

    当我做 hackathon 时我在做什么 (2)

    书接上文:当我做 hackathon 时我在做什么(1)。 前文中提到,我做的第二个项目是个可视化的项目,名字叫 deneb。deneb 是天鹅座的一等星,也是夏季大三角和北十字两个星群的端点之一。...嗯,deneb - vega - altair,聪明的你一定想到了我为什么起这样一个名字: ? 为什么是 vega-lite? 在数据可视化这块,我自己走了不少弯路。...如果你需要能够对可视化的图表做简单的动画,plotly 也能胜任。 我一度以为 plotly 是我的真命天子,直到有一天我敲开了 altair [4] 这个潘多拉魔盒。...第五次撞墙:IElixir 和 jupyter notebook 完成 ex_polars 就像打完我自己的淮海战役一样,做 deneb 的过程是摧枯拉朽,几乎不费太大的力气。...最后,我成功解决了问题,并给 IElixir 的作者提交了一个 PR(还有什么比一个对已有开源项目的 PR 更能彰显 OSS-a-thon 的意义的?): ?

    2.5K10

    为什么我要为开源社区做贡献|你也应该这样做

    我非常擅长电脑编程,我童年的逃避最终成为了我职业生涯的基石。在某种程度上,编程给了我一种掌控感,就像是我的生活中所缺少的。 灵感来自一位火箭科学家 我九岁的时候,我的世界彻底改变了。...我记得我问,“你在玩什么游戏?” “我还没给它起过什么名字呢,”他回答。我不明白他的意思。 他为什么要叫它什么呢?然后他解释说,这是他自己用BASIC语言写的。 我的大脑爆炸。...我喜欢软件工程师的工作,但我的劳动成果是公司的。我不像我朋友的父亲那样,把我置于他的庇护之下。 我不高兴,但与此同时,我的岳父一直告诉我,如果我百分之百地喜欢我的工作,我就会付钱在那里工作。...他告诉我,除了经济上的回报,工作不需要提供任何东西,我的经历也证实了他的观点。 我的雇主在推销产品,让股东和董事会成员满意。这就是世界的方式。为更大的善做贡献是你在业余时间或退休后做的事。...问问你能做什么。 我绕了一圈。这个从火箭科学家那里学会了编程的男孩现在是一名高级软件工程师,他正在帮助年轻人学习编程的诀窍,以便他们能够挑战计算机科学的边界。

    1K20

    Next.js + 云开发Webify 打造绝佳网站

    这种能“动”的 SSG 自然是我所需要的,保持静态访问,而又能在我新增修改文章的时候,站点能够自动更新。绝佳!! 02 为什么还需要来Webify“折腾”一番?...既然上面已经很酷了,为什么会有今天的文章,为什么还需要折腾一番? 原因也很简单:成本略高,为了不错的访问速度,你需要一台性能不错的虚拟机,一定的带宽。对于一般个人博客,投入不划算。...cool~~ 问题是如果你的站点数据来源于类似 strapi 这种 serverless cms 怎么办?...具体以 strapi 为例子: 1、strapi 数据发布 2、web hook到自定义的桥接服务。 3、桥接服务更新站点git。 4、Weify触发重新部署。...            async read(size) {                 const result = await getPostsWithGraphql(`${cmsUrl}/graphql

    1.4K20

    【黄啊码】什么叫GEO?我说的AI搜索的GEO,别弄错了

    地理信息的GEO与AI搜索的GEO不同 提到GEO,很多人会想到地理优化,不过今天我们要聊的GEO,不是CEO哈,别搞错了。...结合目前生成式引擎的特性,我总结了5个可落地的GEO技巧,覆盖从内容创作到技术优化的全流程。 技巧1 预训练思维创作内容 生成式AI的知识来自预训练数据。...结构化数据是一种机器可读的代码,能明确告诉AI这是什么内容。 自然语言标签是在内容中用自然语言强调关键信息,比如核心结论、数据来源、注意事项。...挑战1 你永远不知道AI为什么选了它 生成式AI的内容选择机制是黑箱,它不会告诉你为什么引用A而不是B,也不会公开具体的权重规则。

    31810

    我为什么反对用异常做流程控制?

    这种似乎失控的编码方式,让我想到了邪恶的“GoTo”语法,很多编程语言里都有它, 但是都不建议你用它。因为邪恶的不是GoTo本身,而是滥用GoTo的我们。...题眼基本表达了我的论点,随着本文的深入会对该论点做加一个约束条件。现在容我开始论证它~ 都说抛异常很重,到底重在哪里? 不整虚的,我们用测试数据来说话。...当接口应答只是true/false的时候,抛异常会是个很匪夷所思的设计; 当下层方法不断的抛出各种异常,然后汇总到拦截器里处理时,或者需要对异常拆开做判断,再自定义成合理的应答话术;或者将好不容易区分开的不同异常...我的态度 任何的系统架构设计,都是在不断的在做天人交战,利弊权衡。鲜有绝对的对与错,只有在当前组织环境内相对的合理与不合理。对于异常用作流程控制这件事,我是投反对票。

    4.3K21

    if 我是前端Leader,怎么走出小微前端团队的围墙?

    但是这个星期的紧张、忙碌以及焦虑,让我想明白了一些事情,写了本文,没什么干货,只是一些絮絮叨叨。 上周对我来说还有一个重要的里程碑是掘金等级到达 LV5。...目标已经达成了,这是一种释然,我不再想为了获取更多点赞、更多阅读量去写文章,不再去取一些哗众取宠的标题,不再需要去证明什么。我发现我打开掘金的频率骤然降低了,以前一天可能 checkout 几十次。...忙碌 感觉每天都很忙碌,却像什么事情都没有做。每天的工作重复一次又一次,原地踏步。 孤岛 像置身孤岛,知识和消息是封闭的,个人能力和技术很难有大的突破。公司的格局决定个人的格局。...直到在 TWeb Conf 上听 张云龙[2] 讲了 《Headless CMS——小微项目的业务中台解决方案》[3] 让我对‘中台’提起了兴趣。 这里有一篇文章《漫画:什么是中台?》...支持 Restful 和 GraphQL。内置支持排序、分页、过滤、自动生成文档 内置权限控制系统。角色、JWT 鉴权 轻松集成内部系统。可以灵活地与自己的内部系统对接 扩展性。

    1.3K20
    领券