REST 与 GraphQL:面向开发者的 API 架构对比
导读:本文以实践角度为各位开发者、技术人详解API中的两种重要架构风格,希望大家喜欢。
API 简介
API(应用程序编程接口的综合与)是软件与Web开发的核心支柱,为应用程序与数据库或服务器无缝通信和共享数据创建桥梁或链接。
API 架构风格有很多,有这两种风格最为流行,分别是:REST(表述性状态传输)和 GraphQL。两者均有一些优点和缺点。
本文指南将向各位介绍这些 API 架构、它们的原理、优点、缺点和用例。读完本文后,你将获得一些真实见解,可以对项目中使用的 API 架构做出更明智的决策。
我们深入研究 REST 和 GraphQL,比较它们的优缺点之后,希望能帮助更多开发者朋友做出正确的选择。
了解 REST API
REST是 REpresentational State Transfer 的缩写。
它是当今大多数服务器和网站上最常见的 API 架构风格。使用 REST 风格构建的 API 被称为 RESTful API。
RESTful API 将资源组织为统一资源标识符 (URI)。资源是 API 表示或与之交互的实体或对象。URI 区分服务器上的资源:它可以是用户资源、产品资源或图像资源,具体取决于你在后端服务器上构建的内容。
资源始终要以名词而不是动词分组。比如:
example/com/api/v1/user
而不是下面的样式:
example/com/api/v1/getauser
比如客户端想要从服务器检索用户详细信息,则客户端使用HTTP 代码向服务器发送针对用户资源的请求。
这里我们所讨论的资源就如同调用服务器上的用户数据表。
REST 的具体用例