

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# API 合同
<a name="api-contracts"></a>

每个微前端都是一个能够封装观点、逻辑和复杂性的系统。跨领域问题通常包括以下几点：
+ **设计系统**-以库形式 UIs分布式开发的工具
+ **构图** − 微前端需要与应用程序 shell 交互才能渲染和继承其上下文的方式
+ **逻辑处理**-与之交互 APIs 以处理持久状态
+ **与其他微前端的交互** ——例如发布和使用事件或从一个微前端导航到另一个微前端的场景

为了加快使用和故障排除，通常需要投资标准化这些接口的声明和记录方式，包括微前端依赖关系。由人类策划的维基是一个良好的开端。一种更具可扩展性的方法是将这些信息作为结构化元数据存储在代码中。然后，您可以通过使用自动化来跟踪历史更改并提供全文搜索，将其集中起来以供使用。

当微前端涉及大量团队时，你需要一个策略来协调团队之间的关系。必须以统一的方式共享 API 合同，因为它可以减少通信开销并改善开发者体验。

[OpenAPI](https://www.openapis.org/) 是一种 HTTP 的规范语言 APIs ，它支持以统一的方式定义 API 接口和合约。你可以在 [Amazon API Gate APIs way 中使用 OpenAPI 来实现 R](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html) EST。您还可以使用各种开源框架，这些框架可以托管在容器或虚拟机中。一个显著的优势是 OpenAPI 可以自动生成格式一致的文档，因此多个团队可以用最少的初始投资共享知识。

当多个团队在微前端上工作时，他们通常会组成小组。在这些小组中，人们可以见面并互相学习，同时思考大局并为之做出贡献。这些举措通常定义和记录所有权界限，讨论跨部门问题，并尽早发现任何重复努力以解决常见问题。