ApiHug 如何通过契约消除内部与外部之间的鸿沟
基础概念
为什么契约在内部和外部通信中如此重要?
本质上,ApiHug 所要解决的是 API 的问题,API 是用于不同层级或系统之间通信的一种规范。
换句话说,它就是一种契约:
- 在应用内部,用于后端与前端之间的通信;
- 在外部,则用于不同应用(微服务)或第三方系统之间的通信。
ApiHug 的实现方式
ApiHug 在设计中广泛使用契约机制:
- ApiHug 严格按照 Swagger 标准进行 API 设计;
- ApiHug 使用 DSL 定义契约提供方,这能充分利用编译期静态检查,避免人为错误并提升可读性;
- 对于第三方系统的依赖,同样采用 DSL 进行定义;
- ApiHug 的测试工具 Kola 严格基于 API 设计原型执行测试;
- ApiHug 通过 MCP 暴露 MCP 端点。
以上所有功能均基于 ApiHug 的 API 设计元语言:protobuf 构建。
在编译期和运行时阶段,你可以通过 hope.common.service.contract.ContractAdapter 轻松地自定义这些行为。
该适配器提供了以下扩展点以供定制化使用:
| 函数名 | 备注 |
|---|---|
moduleClassName | 当前应用程序 proto 模块的类名。 |
contract | 控制第三方模块(微服务 API 依赖)中暴露的 API 上下文信息。 |
mcp | 基于 API 控制是否暴露 MCP 服务。 |
参考资料



被折叠的 条评论
为什么被折叠?



