跳转到内容

XIDL

用一份 IDL 驱动 HTTP、JSON-RPC、Rust 代码、OpenAPI、OpenRPC 和更多目标。

XIDL 不是单纯的“代码生成器”,而是一套围绕契约定义构建的工作流: 你先写 IDL,再由同一份契约生成服务端、客户端、Schema、辅助运行时和 工具链产物。

一份契约,多种输出

同一份 IDL 可以生成 Rust 类型、Axum HTTP 接口、JSON-RPC 绑定、 OpenAPI、OpenRPC,以及面向调试和工具链的中间产物。

协议规则显式化

HTTP 路由、参数来源、流式交互和安全声明直接写在契约里,而不是散落在 各个运行时框架和注释约定中。

对人和工具都友好

结构化 IDL 既方便团队评审,也方便生成器、编辑器、语言服务器和 AI 工具 理解与处理。

先学主线,再扩展

文档主线以 xidlc 为入口,用最短路径带你跑通第一个 HTTP + Rust 例子; 其他目标和协议再按需深入。

  • 定义 HTTP API,并生成 rust-axum 服务端/客户端代码。
  • 定义 JSON-RPC 接口,并生成 rust-jsonrpc 绑定与 openrpc.json
  • 从同一份契约生成 OpenAPI,避免代码实现和文档规范漂移。
  • 让生成流程进入 Rust build.rs,或者直接通过 xidlc 手动生成产物。
  • 为流式 API 和安全策略建立可审查、可追踪的显式声明。