首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

REST API 还是 GraphQL?

前言 说到 API 设计,GraphQL 和 RESTful API 是当前最主流的两种选择,各自有其独特优势与挑战。...比如借助代码生成工具 Apollo 或 Relay,可以自动生成对应的查询代码! Apollo 最后,天然支持 Subscription,适用于聊天、通知等实时性强的业务场景!...RESTful API 优劣势 RESTful API 是目前最广泛使用的接口规范,基于 HTTP 协议,使用资源路径和请求方法组合完成数据操作。...最重要的是支持 HTTP 缓存机制,天然支持浏览器或中间层缓存,提升接口性能! 而且通过 Postman、curl 等工具即可快速测试和验证接口。...还有就是扩展性不如 GraphQL,对于需要动态字段、自定义响应结构的场景,REST 显得不够灵活! 最后 GraphQL 和 REST 各有千秋,关键在于选择适合自己团队和项目的方案。

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

    REST API设计指导——译自Microsoft REST API Guidelines(一)

    如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...另外,REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...什么是REST API? Rest不是一种协议,也不是一种文字格式,更不是一种开发框架,它是一种系列的设计约束的集合:无状态性、将超媒体作为应用状态的引擎,这个约束我们统称Fielding约束。...简单的来说,在REST API:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。前面说了,REST 指的是一组架构约束条件和原则。...那么满足这些约束条件和原则的应用程序或设计就是 RESTful。 为什么用REST API? 1.前后端分离主要以API为界做接洽的,这样就会有很多的API,API的表现力更强,更加便于理解。

    1.3K30

    聊聊rest api设计

    序 本文主要研究下rest api的设计。 设计准则 easy to use & hard to misuse 易用不易误用,也就是api设计不要太复杂,要简单易用,而且还不能容易用错。...use case & document story api文档要围绕story或者use case来进行,在一个业务场景下提供完整的闭环操作。...防止文件下载目录遍历对于提供文件下载的接口,一定要避免目录遍历问题 服务质量保障 提供SLA 提供流量管理、熔断、限流 提供服务扩容机制 提供故障演练 提供审计功能 监控异常流量 提供调用方间的隔离 小结 rest...api的设计牵扯的方面比较多,本文暂时只是先列了一些,后续有待补充。...doc API设计要点 聊聊jpa的动态查询 使用RSQL实现端到端的动态查询

    1.1K10

    REST API设计指导——译自Microsoft REST API Guidelines(四)

    前言 前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...关于REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...上篇内容: REST API设计指导——译自Microsoft REST API Guidelines(三) 6 Client guidance 客户指导 To ensure the best possible...这有助于用户发现并简化接口的调用,即使平台没有良好的客户端SDK支持。 PS:为啥微信SDK那么多,API不友好是很大的一个原因。...符合 Microsoft REST API 指南的 API 应该支持 PATCH 方法。

    2.3K50

    REST API 最佳实践

    因此,我们使用一个叫作“应用编程接口”(或 API)的接口,作为客户端和服务器之间的中介。...在这篇文章中,我将带你了解创建 REST API 时需要遵循的一些最佳实践。这将帮助你创建最好的 API,并使你的 API 用户使用起来更容易。 0.什么是 REST API?...调用并不涉及资源(如计算,翻译或转换)。...# PATH 部分,REST API 的标准最佳实践是使用连字符(hyphen),而不是下划线(underscore)或驼峰(camelcase)。...其原则就是客户端与服务器的交互完全由超媒体动态提供,客户端无需事先了解如何与数据或服务器交互。相反的,在一些 RPC 服务或 Redis、MySQL 等软件,需要事先了解接口定义或特定的交互语法。

    2.1K20

    REST API工具推荐

    作者 | Marta Krzyk 译者 | 王强 策划 | 小智 市面上可用的 REST API 工具选项有很多,我们来看看其中一些开发人员最喜欢的工具。...Talend API Tester 是专用于测试 HTTP 和 REST API 的工具。...如果你需要在 REST 服务中采用 SOAP 服务,或者你消费 API但想通过中间人公开 API 的后端服务,它会为你提供具有许多策略选项(配额、身份验证、数据中介、缓存)的代理向导。。...其主要使用场景有: 通过一个平台构建、托管和管理多个 API 跨多个技术端点消费和编排数据 加快 API 开发 简化现有的 API Linx 在创建或调用内部和外部 REST Web 服务方面特别强大。...参考阅读: https://hackernoon.com/rest-api-tools-smackdown-nov3ulw

    2.8K30

    Rest api简介

    又比如,当我使用 Java 编程的时候,我希望得到 ATOM 格式的返回结果,而当我使用 JavaScript 编程的时候,我希望得到 Json 格式的返回结果。...IBM developerWorks 的文件服务标签云的 API REST API 请求,要求返回 XML 格式数据: GET https://www.ibm.com/developerworks...使用 HTTP 头进行缓存处理 在 REST 的构架中,我们除了在与后台的数据交换中,需要有一个良好的缓存机制外,针对 REST API 请求都是在远端用 HTTP 发起这一特点,还需要为网络缓存进行更多考虑...IBM developerWorks 的带有电子标签的文件服务 API REST API 请求: GET https://www.ibm.com/developerworks/mydeveloperworks...,可以帮助我们更好的设计 REST API: 批量更新: 当用户需要更新多个资源的时候,你打算让开发者一次次的发送 HTTP 请求逐个更新吗?

    2.5K60

    什么是REST API

    什么是REST API?...REST API是两个计算机系统在web浏览器和服务器中使用HTTP技术进行通信的一种方式。 在两个或多个系统之间共享数据一直是软件开发的一个基本要求。比如说,考虑购买汽车保险。...JSON响应是机器可读的,因此可以在输出HTML或其他格式之前被进行解析和使用。 REST APIs和Rest 多年来,各种数据通信标准已经发展起来。...API密钥[17]。第三方应用程序通过发布一个密钥来获得使用API的许可,这个密钥可能有特定的权限或被限制在一个特定的域。密钥在每个请求中的HTTP头或查询字符串中被传递。 OAuth[18]。...还有大量的公共REST API,集合了笑话、货币转换、地理编码、政府数据以及你能想到的每一个主题。许多是免费的,尽管有些需要你注册一个API密钥或使用其他认证方法。

    4.8K20

    Microsoft REST API指南

    允许合作伙伴(例如,非Micosoft团队)使用这些准则来设计自己的 REST API。 [*]注:本指南旨在构建符合 REST 架构风格的服务,但不涉及或要求构建遵循 REST 约束的服务。...解读指导 4.1 应用指南 这些准则适用于Microsoft或任何合作伙伴服务公开的任何REST API。私有或内部API也应该尝试遵循这些准则,因为内部服务最终可能会被公开。...如:实现或必须与某些外部定义的REST API互操作的REST服务必须与哪些外部的API兼容,而无法遵循这些准则。而还有一些服务也可能具有需要特殊性能需求,必须采用其他格式,例如二进制协议。...:) 这有助于用户发现并简化接口的调用,即使平台没有良好的客户端SDK支持。 [*]译者注:API URL路径结构应该是友好的易于理解的。甚至用户无需通过阅读API文档能够猜出相关结构和路径。...服务可以向“@remove”节点添加额外的元数据,例如删除的原因或“removed at”时间戳。我们建议团队与Microsoft REST API指导原则工作组协调,以帮助维护一致性。

    5.2K11
    领券
    首页
    学习
    活动
    专区
    圈层
    工具
    MCP广场