Api 设计,为什么契约在内部和外部都如此重要

为什么契约在内部和外部都如此重要 - ApiHugApiHug 如何通过契约消除内部与外部之间的鸿沟https://apihug.github.io/zhCN-docs/framework/all-about-contract

ApiHug 如何通过契约消除内部与外部之间的鸿沟

​基础概念

为什么契约在内部和外部通信中如此重要?

本质上,ApiHug 所要解决的是 API 的问题,API 是用于不同层级或系统之间通信的一种规范。

换句话说,它就是一种契约

  1. 在应用内部,用于后端与前端之间的通信;
  2. 在外部,则用于不同应用(微服务)或第三方系统之间的通信。

​ApiHug 的实现方式

ApiHug 在设计中广泛使用契约机制:

  1. ApiHug 严格按照 Swagger 标准进行 API 设计;
  2. ApiHug 使用 DSL 定义契约提供方,这能充分利用编译期静态检查,避免人为错误并提升可读性;
  3. 对于第三方系统的依赖,同样采用 DSL 进行定义;
  4. ApiHug 的测试工具 Kola 严格基于 API 设计原型执行测试;
  5. ApiHug 通过 MCP 暴露 MCP 端点。

Apihug 1.4.1-RELEASE + Plugin 0.7.5 一键让你 Spring 程序拥有企业级MCP 功能-优快云博客文章浏览阅读642次,点赞23次,收藏22次。摘要:ApiHug推出企业级MCP支持方案,通过1.4.0-RELEASE版本SDK和0.7.5 IDEA插件增强模型上下文协议的安全性。该方案提供完整的访问控制机制,与SpringAI深度整合,支持自定义授权和细粒度API暴露控制。开发者需升级依赖版本并配置相关参数,新项目模板已自动集成所需配置。该方案复用企业现有基础设施,最小化系统改动,目前处于快速迭代阶段。 https://blog.youkuaiyun.com/AK15221736052/article/details/148658144?spm=1011.2124.3001.6209

以上所有功能均基于 ApiHug 的 API 设计元语言:protobuf 构建。

在编译期和运行时阶段,你可以通过 hope.common.service.contract.ContractAdapter 轻松地自定义这些行为。

该适配器提供了以下扩展点以供定制化使用:

函数名备注
moduleClassName当前应用程序 proto 模块的类名。
contract控制第三方模块(微服务 API 依赖)中暴露的 API 上下文信息。
mcp基于 API 控制是否暴露 MCP 服务。

​参考资料

  1. Introducing Spring Cloud Contract
  2. Consumer-Driven Contracts: A Service Evolution Pattern

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ApiHug

God Bless U

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值