跳转到内容

目标生成器

这一页汇总当前 xidlc 内建支持的目标,以及它们通常用于什么场景。

目标常见别名产物类型典型搭配
rustrsRust 类型和模块Rust 库或应用
rust-jsonrpcrust_jsonrpc, rs_jsonrpc, rs-jsonrpcRust JSON-RPC 绑定xidl-jsonrpc
rust-axumrust_axum, axum, rs_axum, rs-axumRust HTTP / Stream 绑定xidl-rust-axum
typescripttsTypeScript 声明和 Schema前端或工具链
gogolangGo 类型或辅助代码Go 项目
go-restgo_restGo HTTP 绑定Go HTTP 服务
pythonpyPython 代码生成Python 项目
python-restpy_rest, python_restPython HTTP 绑定Python HTTP 服务
openapiopenapi_{filename}.json文档和下游消费
openrpcopen-rpcopenrpc.jsonJSON-RPC 文档

有些生成器支持区分客户端和服务端产物,例如:

  • rust-axum
  • rust-jsonrpc

如果某个目标不支持这种区分,这两个参数可能会被忽略,或者效果不明显。

  • 你只要数据结构:选 rusttypescriptgopython
  • 你要 HTTP 服务能力:选 rust-axumgo-restpython-rest
  • 你要 JSON-RPC:选 rust-jsonrpc
  • 你要对外发布 HTTP 契约:选 openapi
  • 你要对外发布 JSON-RPC 契约:选 openrpc
  • 你在调试内部表示:选 hirrest-hirtyped-ast

除了生成代码外, XIDL 还可以生成适用于 HTTP 和 JSON-RPC 的 OpenAPI 和 OpenRPC 文件文件:

  • openapi
  • openrpc