目录结构
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
- 本地环境增量服务配置文件。
* 接口定义
- `v[0-9]*/*` - 每个这样的目录包含一个major版本API,主要是proto文件和构建脚本。
- `{subapi}/v[0-9]*/*` - 每一个`{subapi}`目录包含一个子API的接口定义。
每一个子API可以拥有它自己的独立主版本。
- `type/*` - 在不同的API之间,或者同一个API的不同版本之间,或API和服务实现之间,
共享的类型的proto文件。 在`type/*`下的类型定义一旦发布之后**不应该**有不兼容的修改。