【发布时间】:2021-06-10 23:41:44
【问题描述】:
我正在使用 AWS CDK 1.22 版创建一个 REST API,我也想使用 CDK 记录我的 API,但我没有看到在部署后为我的 API 生成的任何文档。
我已经深入研究了 aws 文档、cdk 示例、cdk 参考,但我可以找到具体示例来帮助我理解如何去做。
这是我的代码:
const app = new App();
const api = new APIStack(app, 'APIStack', { env }); // basic api gateway
// API Resources
const resourceProps: APIResourceProps = {
gateway: api.gateway,
}
// dummy endpoint with some HTTP methods
const siteResource = new APISiteStack(app, 'APISiteStack', {
env,
...resourceProps
});
const siteResourceDocs = new APISiteDocs(app, 'APISiteDocs', {
env,
...resourceProps,
});
// APISiteDocs is defined as follow:
class APISiteDocs extends Stack {
constructor(scope: Construct, id: string, props: APIResourceProps) {
super(scope, id, props);
new CfnDocumentationVersion(this, 'apiDocsVersion', {
restApiId: props.gateway.restApiId,
documentationVersion: config.app.name(`API-${config.gateway.api.version}`),
description: 'Spare-It API Documentation',
});
new CfnDocumentationPart(this, 'siteDocs', {
restApiId: props.gateway.restApiId,
location: {
type: 'RESOURCE',
method: '*',
path: APISiteStack.apiBasePath,
statusCode: '405',
},
properties: `
{
"status": "error",
"code": 405,
"message": "Method Not Allowed"
}
`,
});
}
}
感谢任何帮助/提示,谢谢。
【问题讨论】:
-
我还没用过,但我一直在推荐 TSDoc。 github.com/microsoft/tsdoc
-
@citadelgrad 谢谢,我更喜欢 CDK 方式而不是 TSDoc
标签: documentation api-gateway aws-cdk