• 2002 年春天,Igor Sysoev 开始开发 NGINX。Igor 的精神和价值观塑造了 NGINX, Inc. 公司,在开源和社区的支持下,致力于实现卓越的代码和透明度,同时创造客户喜爱的商业产品。 Igor 受到社区和开发人员、企业客户和 NGINX 工程师的高度推
  • 通过一个具体的例子告诉你我们如何在 Java 中实现一个只允许根据业务规则定义良好的状态转换的域模型,然后使用 Spring 在一个REST-API 中发布它。看看我们如何构建一个完全由该 API 驱动的简单 Web 应用程序。该实现使用来自领域驱动设计(DDD) 的概念,这是一种软件工件试
  • 近日IETF提交新规范讨论:定义了一种新的 HTTP 方法QUERY,QUERY方法作为一种安全、幂等的请求方法,可以携带请求内容。大多数情况下,当请求中传送的数据量太大而无法编码到请求的 URI 中时,推荐采取QUERY方式。例如,虽然这是一个常见且可互操作的查询: icon
  • icon
  • 2017 年,我在耶鲁大学教职期间休假去了 Facebook。我创建了一个团队,在 Facebook 堆栈的底部构建一个名为 Delos 的存储系统(将其视为 Facebook 版本的 Chubby)。在不到一年的时间里,我们以一个 3 人的团队投入生产;随后将团队扩展到 30 多名工程师, icon
  • 当组织达到一定规模时,他们会围绕团队进行组织。团队通常具有职能职责——营销、财务、工程等。API 遵循类似的功能对齐方式;我们看到提供营销功能(促销、产品描述等)、电子商务功能(购物车等)、财务功能(订单到现金等)的 API 集。这些 API 通常由专门的开发团队独立开发,即使在组织上它们可 icon
  • 美国组织理论家罗素·阿科夫 (Russell Ackoff) 说:“一个系统不仅仅是其各部分的总和;它是一个不可分割的整体。当它被分解时,它就会失去其本质属性。”在进行API设计时,我们*喜欢*还原论作为处理复杂性的一种方式:例如《Web API 设计原则:通过 API 和微服务交付 icon
  • 类级别的测试有以下主要问题:类测试使更改变得痛苦类测试不验证实际行为类测试很难理解  类测试使更改变得痛苦当对我们的代码进行更改时,这会成为一个问题,因为每个小的修改都会 icon
  • 在今天的文章中,我将讨论如何利用 Spring AOP 在端点级别授权 API 请求。假设我们构建了一个 API 来跟踪启用了基本身份验证的 Spring Security 的每月费用,并且我们希望根据经过身份验证的用户的权限来授权请求​​。简而言之,身份验证是验证用户身份以 icon
  • “API 管理”这个词经常被使用,但它对不同的人可能有不同的含义。没有单一的“正确”或“错误”方式来定义它,但了解某人在谈论 API 管理时所指的内容很重要。API 管理等术语的含义随着时间的推移而改变: 技术范畴的API管理 icon
  • API 设计的核心是有效的沟通,不仅是开发人员之间的沟通,还包括将产品思维、业务和技术融为一体的沟通。James Higginbotham 是《Web API 设计原理》的作者和执行 API 顾问。James 还推荐 API Design-First 方法——一种快速且轻量级的基于结 icon
  • 这里为 HTTP API 层选择了 Spring 框架,只是因为它非常流行。这可以是您想要的任何东西,只要记住我们正在构建一个反应式解决方案,因此使用具有非阻塞 API 的东西也是合理的,例如 Micronaut、Quarkus 等。有ShowController2 个端点。第一个是 icon
  • 用于定义团队 API 的模板。基于Matthew Skelton @matthewskelton和 Manuel Pais  icon
  • 一种特殊情况是需要相同的端点和方法,但具有不同的参数和不同的行为,例如 icon
  • 将幂等性作为建立 API 设计原则来支持。我在这里选择使用 GraphQL 作为应用层协议,但无论使用其他协议,例如 REST 或 RPC,原理都是相同的。GraphQL 查询操作根据服务器的当前状态返回数据。预计随着时间的推移请求具有特定输入的查询可能会返回不同的数据作为输 icon
  • 对 GraphQL 和 REST API 开发方法及其用例之间差异的动手探索:无论您是在开发内部工具、内容管理系统 (CMS) 集成还是电子商务插件,您都会经常发现自己在做出选择。您应该使用标准的 REST API 还是 GraphQL API?Facebook 于 2012 icon
  • 自从可扩展数据结构(XML、JSON、YAML...)开始大规模使用以来,消息和事件负载验证一直是一个相当棘手的问题。事实上,自DTD的美好时光以来,几乎没有取得任何进展。Schema 语言并不新鲜,有几十种:SQL、XML Schema、json-schema、Protobuf、G icon
  • 谷歌有一个 API 问题。正如他们在 2016 年的论文“大规模 API icon