Su的技术博客

  • 首页
  • 原创
  • 视频
  • Java
  • MySQL
  • DDD
  • 事故复盘
  • 架构方案
  • AI
  • Other
  • 工具
    • AI工具集
    • 工具清单
    • JSON在线格式化
    • JSON在线比较
    • SQL在线格式化
  • 打赏
  • 关于
路很长,又很短
  1. 首页
  2. 架构方案
  3. 正文
                           

【HTTP】API 设计巅峰对决:GraphQL VS REST 谁更胜一筹?

2024-07-13 1720点热度 0人点赞 0条评论

视频对比了REST和GraphQL两种API构建方式。通过将两种技术比作健谈的R和保守的G,用以说明REST倾向于返回大量数据,而GraphQL则能够精确提供所需信息。视频详细解释了REST和GraphQL的基本概念、术语和操作方法,指出REST依赖HTTP请求,返回整个数据集,而GraphQL作为查询语言,能够在单个请求中从多个数据源获取数据。视频还展示了两者的相似之处和关键差异,提出了各自的优缺点以及适用场景,帮助开发者依据需求选择合适的API构建工具。REST适合简单CRUD操作应用,而GraphQL则适用于复杂数据请求的应用。最后指出两者可以结合使用,实现更灵活的API管理。

视频:

REST 和 GraphQL

1. REST
   - 资源(Resource)
     - 基本概念
     - 唯一标识符 URI(统一资源标识符)
   - HTTP 方法
     - GET
     - PUT
     - POST
     - DELETE
   - 数据格式
     - JSON
     - XML
   - 客户端功能
     - 过滤
     - 排序
     - 分页

2. GraphQL
   - 模式(Schema)
     - 定义所有可能数据的蓝图
   - 查询(Query)
     - 获取数据的请求
   - 解析器(Resolver)
     - 获取查询请求的数据
     - 组装响应数据
   - 变更(Mutation)
     - 修改服务器上的数据
     - CRUD 模型中的创建、更新和删除操作
   - 数据获取
     - 单次请求获取所需数据

API 设计巅峰对决:GraphQL VS REST 谁更胜一筹?

GraphQL vs REST: Which is Better for APIs? | IBM Technology

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

更多文章:

  1. 全链路压测之影子库及ShardingSphere实现影子库源码剖析
  2. 系统设计 | RESTful API 使用问题和建议
  3. Chrome插件(扩展)开发全攻略2.6w字,看这篇就够了!
  4. Netflix 技术栈
  5. 系统设计入门:成为高级软件工程师的指南
  6. 系统设计 | 设计和解析 DSL
  7. 系统设计 | 如何管理应用系统中的配置?
  8. 你所说的“事件驱动”是什么? What do you mean by “Event-Driven”?
  9. 记一次升级MySQL驱动包引发的事故
  10. 手把手教你落地DDD
标签: HTTP API 技术选型 视频 CRUD graphql rest
最后更新:2024-07-13

秋天0261

关注Java领域,后端开发、Netty、Zookeeper、Kafka、ES、分布式、微服务、架构等。分享技术干货,架构设计,实战经验等。

打赏 点赞
< 上一篇
下一篇 >
广告
最新 热点 推荐
最新 热点 推荐
视频笔记:微服务架构P4 设计模式:每服务数据库、API 网关和事件驱动架构 干货 | 论Elasticsearch数据建模的重要性 马蜂窝消息总线——面向业务的消息服务设计 基于 MySQL Binlog 实现可配置的异构数据同步 视频笔记:Google发布Agent2Agent协议 视频笔记:什么是微服务,为什么是微服务? 视频笔记:什么是AI 智能体? 视频笔记:什么是Flink?
Elasticsearch 使用误区之六——富文本内容写入前不清洗基于 MySQL Binlog 实现可配置的异构数据同步马蜂窝消息总线——面向业务的消息服务设计视频笔记:微服务架构P4 设计模式:每服务数据库、API 网关和事件驱动架构干货 | 论Elasticsearch数据建模的重要性你可以不用RxJava,但必须得领悟它的思想!如何秒级实现接口间“幂等”补偿:一款轻量级仿幂等数据校正处理辅助工具视频笔记:什么是Flink?
Chrome插件(扩展)开发全攻略2.6w字,看这篇就够了! JVM 内存分析工具 MAT 的深度讲解与实践——入门篇 JVM 内存分析神器 MAT: Incoming Vs Outgoing References 你真的了解吗? 系统设计 | 业务编号生成 3.编程语言的演化(译) 笔记 | 5种网络IO模型 ElasticSearch之各大版本演进,发布8.0.0 Alpha 2版本 系统设计 | 如何表达迭代技术方案?(战术篇)

CRUD (1) Event Sourcing (1) graphql (1) id (1) NoSQL (1) quarkus (1) rest (1) RocketMQ (2) Spring Boot (1) zk (1) zookeeper (1) 上下文 (1) 事务消息 (1) 二级缓存 (1) 值对象 (1) 关系数据库 (1) 分布式缓存 (1) 原子性 (1) 唯一ID (1) 商品 (1) 多对多 (1) 子域 (1) 字符集 (1) 客户端心跳 (1) 幂等 (2) 干货 (1) 并发 (1) 应用场景 (1) 应用架构图 (1) 康威定律 (2) 异步复制 (1) 微服务架构 (3) 总体方案 (1) 技术方案 (2) 技术架构 (2) 技术架构图 (1) 技能 (1) 持续集成 (1) 支撑域 (1) 故障恢复 (1) 数据架构图 (1) 方案选型 (1) 日记 (1) 服务发现 (1) 服务治理 (1) 服务注册 (2) 机房 (1) 核心域 (1) 泄漏 (1) 洋葱架构 (1) 消息队列 (5) 源码剖析 (1) 灰度发布 (1) 熔断 (1) 生态 (1) 画图工具 (1) 研发团队 (1) 线程 (2) 组织架构 (1) 缓存架构 (1) 编码 (1) 视频 (19) 读写分离 (1) 贵州 (1) 软件设计 (1) 迁移 (1) 通用域 (1) 集群化 (1) 雪花算法 (1) 顺序消息 (1)

推荐链接🔗
  • AI工具集
  • 工具箱🛠️

COPYRIGHT © 2014-2025 verysu.com . ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备15033072号-2

x