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

开发者必备——API设计问题

本文主要探讨RPC和RESTFul两种API风格的特点以及在开发中应该如何进行技术选型,截取了部分网上社区,文章关于API设计的想法和观点供读者参考取舍。...By,With,create等等,这也是RESTFul征讨RPC的主要原因 一是嫌它丑 二是认为它不够通用(在服务端更新了之后,客户端也需要阅读文档,适应服务端) 3.1 常用实践 面向接口编程 在参数传递过程中使用接口而不是实现类...RESTFul对于单资源的增删改查的确可以实现API的升级,但由于其接口粒度过粗,对于多资源的查询操作难以设计出合理的API。...RESTFul适合应用于开发API的增删改查,而RPC适合更加精细化可定制的业务场景 在实现开发接口API,RESTFul有更好的表现。 在实现业务系统,RPC具有更高的定制化能力。...参考文章 浅谈如何设计API restful与rpc风格 REST与RESTFul API最佳实践 API 设计最佳实践的思考 RESTful API 最佳实践

55220

前后端分离开发思路探讨

为了了解这个问题,我们有必要先了解一下 Web 的研发模式演变,关于这个题材,下面这篇博文说得不错,这边就不做搬运工了。...以往只需要提供静态页面的前端人员,在前后端分离模式中要负责项目的 view+controller 部分,即除了静态页面,还需要负责页面的所有交互代码、以及 nodejs 与视图层以及后端 API 的交互工作...后端 API 是否 RESTFul 风格? 很多公司采用了前后端分离模式后,后端 API 仍然采用以往的传统风格,这是不合理的。 RESTFul 风格的 API 应该是前后端分离的最佳实践。...RESTFul 推荐每个 URL 能操作具体的资源,而且能准确描述服务器对资源的处理动作,通常服务器对资源支持 get/post/put/delete/ 等,用来实现资源的增删改查。...例如:当后端 API 没有编写完成时,前端无法进行调试,这就导致了前端会被后端阻塞的情况。其实像这种互相等待的模式需要改进, Mock Server 可能可以解决一些问题。 如何前后端分离?

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

    Serverless 最佳实践之网络请求(上)

    由于网络请求相关的最佳实践内容比较多,所以会拆分成三篇,分别是: 上篇:请求规范 中篇:Cookie、Session 及入参校验 下篇:浏览器插件的集成和使用 欢迎关注微信公众号“寂静小站”获取最新分享...下面进入本篇正文,对于请求规范的最佳实践,将分三块来介绍: 为什么需要请求规范? 为什么不直接使用 Restful / GraphQL? FaasJS 请求规范 为什么需要请求规范?...所以通常每个公司都会定制自己的内部和外部通讯的请求规范,通过规范来降低沟通成本和开发成本。 为什么不直接使用 Restful / GraphQL? 我们分开来看这两个规范。...操作失败的失败原因被包裹在 error 字段中 这个请求规范的内在逻辑是:先将云函数们组织好,然后直接映射为 API 即可。...在某些有复杂查询条件的场景下,就不用担心查询条件过多达到浏览器 GET 请求长度限制的问题了。

    76620

    13 个设计 REST API 的最佳实践

    关于 restful api 本身以及设计原则,我陆陆续续也看过很多的文章和书籍,在读过原文后,感觉文中指出的 13 点最佳实践还是比较全面的且具有参考意义的,因此翻译出来分享给大家。...避免在 URI 中使用动词 如果你理解了第 1 条最佳实践所传达的意思,那么你现在就会明白不要将动词放入 REST API 的 URI 中。...采用 REST API 定制化的框架 作为最后一个最佳实践,让我们来探讨这样一个问题:你如何在 API 的实施中,实践最佳实践呢?...因此,你必须采取额外的步骤来实施 API 中的最佳实践,但大多数情况下,由于懒惰或者时间紧张等因素,意味着你不会投入过多精力在这些方面 —— 然后给你的用户提供了一个古怪的 API 端点。...在各种语言中,许多专门用于构建 REST API 服务的新框架已经出现了,它们可以帮助你在不牺牲生产力的情况下,轻松地完成工作,同时遵循最佳实践。

    3.6K20

    现代后端开发者必备技能——2018 版

    第4步 - 标准和最佳实践 每种语言都有自己的标准和做事的最佳实践。研究他们为你挑选的语言。例如 PHP 有 PHP-FIG 和 PSR 。...第6步 - 练习 现在你已经掌握了语言,标准和最佳实践的基础知识,安全性以及如何使用软件包管理器。现在开始创建一个包并分发给其他人使用,并确保遵循你迄今为止学到的标准和最佳实践。...第15步 - 创建RESTful API 了解REST并学习如何制作RESTful API,并确保从 RoyFielding 的原始文章中阅读关于REST的部分。...你可以在上面制作的博客应用程序中使用它来实现博客文章列表中的实时更新。 第22步 - 学习GraphQL 学习如何使用GraphQL制作API。...了解它与REST的不同之处,以及它为什么被称为 REST2.0。

    1.4K30

    13个构建RESTful API的最佳实践

    在今天的开发环境中,RESTful API仍然是服务和消费数据的最佳选择之一。 但你是否考虑过学习行业标准?设计一个RESTful API的最佳实践是什么?...最佳实践 本文为你提供了13个可操作的最佳实践清单。让我们一起来探索吧!...RESTful API的最佳实践描述了一个端点应该以资源名称开始,而HTTP的操作则描述了行为。...这种方法的最大优点是,每个开发者都了解RESTful API是如何设计的,他们可以立即使用API,而不必阅读你的每个端点的文档。 使用复数资源 资源应始终使用其复数形式。为什么?...这仍然是传递关于你新开发的API知识的最简单的方法之一。 尽管你的API遵循了所有针对RESTful API的最佳实践,但仍然值得你花时间来记录各种元素。

    1.3K20

    50个必须要会的微服务面试题

    微服务是独立部署和管理的,一旦应用实现在容器内,它们与底层操作系统的交互很少。因此,如果你希望把微服务添加到自己的技术栈中,并想要了解与之相关的技能,那么现在正是潜心研究的时候。...以下是设计微服务的最佳实践: ? 设计微服务的最佳实践 为每个微服务分开数据存储 将代码保持在类似的成熟度等级上 为每个微服务进行单独的构建 部署到容器中 将服务器视为无状态的 Q5....这使得微服务更容易理解和实现。 微服务可以用 RESTful API 来实现,当然也可以不用,但是用 RESTful API 去构建松散耦合的微服务总是更容易些。 Q17....你能否给出关于 Rest 和微服务的要点? REST 虽然你可以通过多种方式实现微服务,但 REST over HTTP 是实现微服务的一种方式。...微服务的某些原则和最佳实践有助于构建弹性应用程序。 简而言之,你可以认为 REST 是构建微服务的媒介。 Q18. 什么是不同类型的微服务测试?

    1.3K30

    【译】如何提出好的Code Review反馈

    这意味着团队的生产效率被代码审查拖慢了。 为什么会这样呢? 前文我们已经有过介绍,降低团队效率的原因可能有很多,但通常是反馈的等待时间长和响应慢有关。...实际上,这些问题是有价值的,但并不是我们最主要的目标。 那么,还要看哪些问题呢? 有关缺陷、验证缺失和最佳实践的反馈是最有价值的 最有价值的代码审查反馈都是关于代码中实际问题的。...所以,那些指出代码中包含不符合代码规范和最佳实践的反馈是很有价值的。 API使用和设计模式。其他的有价值的反馈主要是关注API或第三方库使用是否正确,或者是缺少或错误的使用了设计模式。...慢慢的,你就能更好的理解代码,了解团队惯例和最佳实践,以及向代码审查添加有用的反馈。 缺乏经验的开发人员提出有价值的反馈较少 不只是你,也不是初级开发者的错。这只是一个事实。...总而言之,有价值的反馈是针对代码审查目标的反馈:检查当前代码更改是否正确以及是否高质量。不利于实现此目标的讨论应该在代码审查过程之外讨论。

    69410

    浅谈架构之路:前后端分离模式

    网上对前后端分离介绍的文章已经屡见不鲜,接下来本人用一点粗浅的言语也谈谈这块,献丑了。 ?  为什么要分离?   如果只问“前后端分离的意义大么?”...以往只需要提供静态页面的前端人员,在前后端分离模式中要负责项目的view+controller部分,即除了静态页面,还需要负责页面的所有交互代码、以及nodejs与视图层以及后端API的交互工作,无疑增加了前端人员的学习成本...(PS:还是基础不够导致的!) 3、后端API是否Restful风格?   ...很多公司采用了前后端分离模式后,后端API仍然采用以往的传统风格,这是不合理的,Restful风格的API应该是前后端分离的最佳实践。...例如:当后端 API 没有编写完成时,前端无法进行调试,这就导致了前端会被后端阻塞的情况。其实像这种互相等待的模式需要改进, Mock Server 可能可以解决一些问题。  如何前后端分离?

    1.4K60

    [每日前端夜话0xBB]

    日志记录是每个开发人员从第一天编写代码时就要做的事情,但很少有人知道它可以产生的价值和最佳实践。 在本文中,我们将讨论以下主题: 什么是日志,为什么很重要性?...记录日志的最佳做法 日志的重要部分 正确使用日志级别 为什么选择 Winston? ---- 什么是日志,为什么很重要?...当你启动 Node.js 服务器时,如果数据库由于某些问题而没有运行,或服务器端口已经被占用时,如果没有日志,你将永远不知道服务器失败的原因。...因此,这是日志记录能够帮助你的地方。 在不使用调试器的情况下,你可以通过浏览日志找到问题并了解出现问题的原因和位置。 最佳实践 1)日志的三个重要部分 程序日志既适用于人类,也适用于机器。...人类参考日志来调试问题,机器用日志生成各种图表,并通过数据分析来产生关于客户使用的各种结论。

    50210

    2022 最新 微服务 面试题 (一)

    开发人员可以自由选择最有用的工具来解决他们的问题 · 敏捷 – 微服务支持敏捷开发。任何新功能都可以快速开发并再次丢弃 4、设计微服务的最佳实践是什么?...以下是设计微服务的最佳实践: 图 4: 设计微服务的最佳实践 – 微服务访谈问题 5、微服务架构如何运作?...组件之间依赖关系强度的度量被认为是 耦合 。 一个好的设计总是被认为具有 高内 聚力 和 低耦合性 。 16、什么是 REST / RESTful 以及它的用途是什么?...这使得微服务更容易理解和实现。 微服务可以使用或不使用 RESTful API 实现, 但使用 RESTful API 构建松散耦合 的微服务总是更容易。...微服务是一种体系结构, 其中系统的所有组件都被放入单独的组件中, 这些组件 可以单独构建, 部署和扩展。 微服务的某些原则和最佳实践有助于构建弹性应用 程序。

    20910

    使用Java开发RESTful API的最佳实践

    RESTful API 是目前非常流行的一种 Web 服务架构,使用 Java 开发 RESTful API 涉及到许多最佳实践。...4、提供清晰和有意义的文档说明 提供清晰和有意义的文档可使消费者更容易理解您的 API 如何工作、使用它们做什么以及如何使用它们。...6、返回适当的错误信息 在错误情况下,API 应返回适当的 HTTP 状态码和错误消息,以通知客户端出错原因。...10、与其他系统进行合理协作 根据业务需求,最佳选择可能是将 Java RESTful API 提供的数据与其他服务或 UI 元素合并,或者使用反向代理/负载均衡器通常可以提高 API 的可靠性、伸缩性和一致性...总的来说,这些实践将有助于使你的Java RESTful API更加可靠、易用和伸缩性。如果你学习和运用这些实践,并结合具体的业务场景,就能创建出高效、稳定、安全、易维护的Web服务。

    27630

    【精选】深入浅出带你了解微服务架构如何运作?

    开发人员可以自由选择最有用的工具来解决他们的问题 敏捷—微服务支持敏捷开发。任何新功能都可以快速开发并再次丢弃 4、设计微服务的最佳实践是什么?...以下是设计微服务的最佳实践: 图 6:设计微服务的最佳实践 – 微服务访谈问题 5、微服务架构如何运作? 微服务架构具有以下组件: 客户端 – 来自不同设备的不同用户发送请求。...组件之间依赖关系强度的度量被认为是耦合。一个好的设计总是被认为具有高 内聚力和低耦合性。 16、什么是 REST / RESTful 以及它的用途是什么?...微服务可以使用或不使用 RESTful API 实现,但使用 RESTful API 构建松散 耦合的微服务总是更容易。 17、什么是不同类型的微服务测试?...在顶层, 我们的验收测试数量很少。这些验收测试有助于利益相关者理解和验证软件功能。

    55630

    微服务框架落地实践之路

    在微服务的浪潮下,如何根据企业自身的业务特点,合理的运用开源技术落地微服务架构成为关键。本文作者认为,在实施微服务架构的过程中,结合企业自身业务特点落地的微服务架构即是最佳实践。...更多服务注册与发现内容,请移步至《微服务架构实践:服务注册与发现中负载方案选型》(点击标题即可阅读)。以下是我们基于etcd+motan实现服务注册与发现的架构示意图: ?...三、根据企业自身的业务特点, 能落地的微服务架构就是最佳实践 在微服务的浪潮下,大量的新概念不断涌出,新的开源框架不断增多,如何根据企业自身的业务特点,合理的运用开源技术落地微服务架构成为关键。...微服务概念提出已久,但却一直缺乏最佳实践,笔者认为,在实施微服务架构的过程中,结合企业自身业务特点落地的微服务架构即是最佳实践。...开源框架的整合、重构与落地过程其实就是一个不断踩坑填坑的过程,至于选择什么开源框架并不重要,重要的是能根据自身业务的需求,实现一套符合企业自身业务特点的微服务架构,并形成最终企业自己的微服务架构最佳实践

    1.1K80

    Node.js 应用最佳实践:日志

    日志记录是每个开发人员从第一天编写代码时就要做的事情,但很少有人知道它可以产生的价值和最佳实践。 在本文中,我们将讨论以下主题: 什么是日志,为什么很重要性?...记录日志的最佳做法 日志的重要部分 正确使用日志级别 为什么选择 Winston? ---- 什么是日志,为什么很重要?...当你启动 Node.js 服务器时,如果数据库由于某些问题而没有运行,或服务器端口已经被占用时,如果没有日志,你将永远不知道服务器失败的原因。...因此,这是日志记录能够帮助你的地方。 在不使用调试器的情况下,你可以通过浏览日志找到问题并了解出现问题的原因和位置。 最佳实践 1)日志的三个重要部分 程序日志既适用于人类,也适用于机器。...人类参考日志来调试问题,机器用日志生成各种图表,并通过数据分析来产生关于客户使用的各种结论。

    1.2K20

    进大厂必须掌握的50个微服务面试问题

    顶级微服务面试问题 根据Gartner的说法,微服务是云开发的新应用平台。微服务是独立部署和管理的,一旦在容器内实现,它们与底层操作系统的交互很少。 ...开发人员可以自由选择最有用的工具来解决他们的问题 敏捷  – 微服务支持敏捷开发。任何新功能都可以快速开发并再次丢弃 Q4。设计微服务的最佳实践是什么? 以下是设计微服务的最佳实践: ?...微服务可以使用或不使用RESTful API实现,但使用RESTful API构建松散耦合的微服务总是更容易。 Q17。你对Spring Boot有什么了解?...你能否给出关于休息和微服务的要点? 休息 虽然您可以通过多种方式实现微服务,但REST over HTTP是实现微服务的一种方式。...微服务的某些原则和最佳实践有助于构建弹性应用程序。 简而言之,您可以说REST是构建微服务的媒介。 Q23。什么是不同类型的微服务测试? 在使用微服务时,由于有多个微服务协同工作,测试变得非常复杂。

    24.2K82

    4种主流的API架构风格对比

    RPC 与基础系统的紧密耦合不允许其在系统函数和外部 API 之间建立抽象层。这很容易引起安全问题,因为关于基础系统的细节实现很容易会泄漏到 API 中。...(SOAP 消息级别的安全性:在标头元素的认证数据以及加密的正文) 3 SOAP的不足 如今,由于如下几种原因,许多开发人员在听到必须集成 SOAP API 的想法后都会感到不安。 仅使用 XML。...这就是为什么金融组织和其他企业用户选择适用 SOAP 的原因。...因此,即便是如今非常好的 REST API 也不一定总是能做到这一点。这就是为什么 HATEOAS 主要是作为 RESTful API 设计的长期开发的愿景而存在。...没有版本控制:版本控制的最佳实践是不要对 API 进行版本控制。

    2.3K30

    【ASP.NET Core 基础知识】--Web API--RESTful设计原则

    三、RESTful最佳实践 资源的合理命名: 选择清晰、简洁、有意义的资源名,并使用复数形式,反映资源的层次结构。...文档和教育: 提供清晰、详尽的文档,以及示例代码,帮助开发者正确地使用API。教育开发者关于RESTful设计原则和最佳实践。...通过遵循这些最佳实践,可以确保设计出稳健、可扩展、易维护的RESTful API,提高系统的可用性和开发者体验。...使用API网关: 引入API网关作为入口,集中管理请求、认证、授权和监控,提高系统的可观察性和安全性。 团队培训和沟通: 进行团队培训,确保团队成员对RESTful设计原则和最佳实践有一致的理解。...合理划分资源、统一标准和规范、持续集成与测试等最佳实践帮助应对复杂性管理。总体而言,RESTful设计不仅满足分布式系统的需求,还为构建可持续演化的API提供了一系列有效的解决方案。

    18200
    领券