重写
重写
重写
使用重写文件来自定义您的 OpenAPI、AsyncAPI 或 OpenRPC 定义,而无需修改原始规范。这在以下情况下很有用:
重写功能适用于 OpenAPI、AsyncAPI 和 OpenRPC 规范。
对于 OpenAPI 规范,Fern 推荐使用覆盖层而不是重写。覆盖层遵循官方的 OpenAPI Overlay 规范,支持使用 JSONPath 通配符进行批量更改,并且在 OpenAPI 生态系统中是可移植的。
重写功能也完全受支持。如果重写对您的团队有效,则无需切换。您也可以同时使用两者(先应用重写,然后应用覆盖层)。
在包含您的 API 定义的文件夹中创建 overrides.yml 文件:
overrides 字段接受单个路径或路径列表。当提供多个路径时,重写按顺序依次应用,对于冲突的键,后面的文件优先于前面的文件。
当您的项目有多个规范需要相同的基础重写时,使用共享基础文件并在其上层叠特定于规范的重写。这避免了在每个规范中重复常见重写(例如,SDK 方法名称或认证扩展):
当您需要为 SDK 生成和文档使用完全不同的重写时,使用带有自己的 generators.yml 的单独文件夹。每个文件夹只引用与其关注点相关的重写:
如果 SDK 和文档重写共享一个公共基础,您可以在每个文件夹中使用多个重写文件以避免重复:
当您的公共和内部 API 共享相同的规范但需要不同的重写时,使用多个重写文件在公共基础上层叠内部特定的添加。这在内部 API 是公共 API 的超集时特别有用:
这避免了在内部配置中重复公共重写。internal-overrides.yml 文件只需要包含特定于内部 API 的添加。