打开API
关于这个项目
这个 @cap-js/openapi 是支持 OpenAPI 文档汇编的软件包.
目录
要求和设置
安装
$ npm install @cap-js/openapi
使用量
const cds = require('@sap/cds')
const { compile } = require('@cap-js/openapi')
const csn = await cds.load(cds.env.folders.srv)
const openapiDocument = compile(csn)
自定义 OpenAPI 输出
您可以使用 after:compile.to.openapi 修改生成的 OpenAPI 文档的事件 :
cds.on('after:compile.to.openapi', ({ csn, options, result }) => {
// Add custom vendor extensions
result['x-api-id'] = 'my-api-id'
// Enhance the info section
result.info.contact = {
name: 'API Support',
email: '[email protected]'
}
result.info.license = {
name: 'Apache 2.0',
url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
}
// Add additional servers for different environments
result.servers.push({
url: 'https://api-dev.example.com',
description: 'Development server'
})
})
事件处理器接收对象有:
csn- 输入式MSN模型options- 使用的汇编选项result- 生成的 OpenAPI 文档(可以通过参考修改)
同样,您也可以订阅 compile.to.openapi中,在转换前修改 CNN :
cds.on('compile.to.openapi', ({ csn, options }) => {
// exclude MySecretEntity from output
delete csn.definitions.MySecretEntity
})
事件的处理者永远不应该同步以避免处理者与转换过程之间的种族条件!
捐款
此项目可通过下列方式对特性请求/建议、错误报告等开放: GitHub 问题鼓励并始终欢迎各方作出贡献和反馈。 关于如何作出贡献的更多信息,项目结构以及额外贡献信息见我们 贡献准则。 。 。 .
行为守则
作为成员、贡献者和领导人,我们保证使参加我们的社区成为每个人不受骚扰的经历。 通过参与这个项目,你同意遵守 行为守则 在任何时间.
许可证发放
版权2023 SAP SE或SAP下属公司和贡献者。 请看我们的 自由主义 版权和许可证信息。 详细信息,包括第三方组成部分及其许可证/版权信息 通过REUSE工具。 。 。 .