在本文中,我们将探讨一种开发基于合同的REST API的方法。
开发良好的REST API时,拥有出色的微服务很重要。 合同优先法将帮助您在实施之前制定好的合同。 但是,这并不是那么简单!

你会学
- 什么是开发REST API的合同优先方法?
- 合同优先方法的好处是什么?
- 合同优先法的缺点是什么?
- 您何时使用“合同优先”方法?
REST API
这是有关REST API的系列文章中的第三篇:
Web服务概念
有几种类型的Web服务,包括REST和SOAP。 对于每种服务,都有:
消费者必须知道所提供服务的详细信息。 因此,必须签订合同。 服务合同定义:
- 服务的来龙去脉是什么?
- 服务可通过哪个URL获得?
- 如何发送授权?
合同优先法
使用“
合同第一 ”方法(合同第一),您首先定义合同,然后实施服务。 让我们来看一个例子。
WSDL
首先让我们看一下Web服务定义语言WSDL的使用。 这是一个用法示例:

WSDL通常与SOAP / XML Web服务一起使用。 在这种情况下,通常定义:

合同是什么意思?
当我们开始订立合同时,我们定义WSDL,然后与我们的使用者共享。 即使在我们引入服务并将其提供之前,所有这一切都可能发生。
合同告诉消费者如何期望请求和响应的交换。 签订合同后,服务提供商便可以提供与合同一致的服务。 服务使用者可以开发应用程序以供其使用。
合同优先法的好处
团队可以并行发展
由于编码是基于合同的,因此服务提供商和消费者群体会清楚地了解交流的方式和细节。 因此,开发可以同时进行。
团队知道会发生什么。
由于编码是基于合同的,因此生产者和消费者团队对彼此的期望有所了解。 结果,如果由于不同的开发速度而无法进行组间测试,则可以使用存根软件根据合同对另一方的行为进行建模。
跨平台兼容性
由于服务参数仅取决于合同,因此用于开发服务的实际软件结构并不重要。 服务提供者和服务使用者可以使用不同的技术。
允许重用模式
WSDL中很好地定义了用于定义服务合同的方案。 因此,如果部分服务在其他服务中重复,则相应的方案也可以重用。
合同优先法的缺点
需要额外的前期费用
这些费用大部分将以服务协议为中心。 您必须确保合同定义明确,并且不会经常更改。
合同续签和交换机制
在使用服务期间,如果您更新合同,则它将影响所有其他相关方。 因此,必须有一个适当的机制将变更转移给不同的使用者。
关于这个问题,有一个作者的
视频 。
总结
在本文中,我们讨论了Web服务上下文中的“合同优先”方法。
补充阅读
使用开放API生成器的API First方法快速开发应用程序实施API优先的设计方法