目录结构

API服务通常使用.proto文件来定义API接口,并通过.yaml文件来配置API服务。

每个API服务都必须在API仓库中有一个API目录,其中包含其定义文件和构建脚本。

API目录应该具有以下标准布局:

  • API目录

  • 配置文件

    • {service}.yaml - 主服务配置文件,它是google.api.Service proto消息的YAML表示形式。

    • prod.yaml - 生产环境增量服务配置文件。

    • staging.yaml - 模拟环境增量服务配置文件。

    • test.yaml - 测试环境增量服务配置文件。

    • local.yaml - 本地环境增量服务配置文件。

  1. * 接口定义
  2. - `v[0-9]*/*` - 每个这样的目录包含一个major版本API,主要是proto文件和构建脚本。
  3. - `{subapi}/v[0-9]*/*` - 每一个`{subapi}`目录包含一个子API的接口定义。
  4. 每一个子API可以拥有它自己的独立主版本。
  5. - `type/*` - 在不同的API之间,或者同一个API的不同版本之间,或API和服务实现之间,
  6. 共享的类型的proto文件。 `type/*`下的类型定义一旦发布之后**不应该**有不兼容的修改。