aws-api-gateway - 我可以在使用 Amplify 创建 Rest API 时跳过生成 {proxy+}
问题描述
我目前正在使用放大创建rest-api:s。我正在尝试创建以下结构:
- /你好文本
- /helloText/{名称}
但是尝试推送后端时出现以下错误:
Unable to create resource at path '/helloText/{proxy+}': A sibling ({name}) of this resource already has a variable path part -- only one is allowed
据我了解,这是因为 Amplify 默认创建“贪婪路径”。
从模板文件 RestTest-cloudformation-template.json 手动删除这些“贪婪路径”时,它可以工作。
是否可以仅使用命令行来创建这些路径?
解决方案
在 amplify-cli 中没有配置开关。您需要创建一个覆盖。参考:放大覆盖 api。跑:
amplify override api
然后编辑生成的override.ts像:
import { AmplifyApiRestResourceStackTemplate } from '@aws-amplify/cli-extensibility-helper';
export function override(resources: AmplifyApiRestResourceStackTemplate) {
const {paths} = resources.restApi.body;
Object.keys(paths).forEach((path) => {
if (path.includes('{proxy+}')) {
delete paths[path];
}
});
}
推荐阅读
- database - 我不想将一些东西回滚到数据库事务中
- javascript - 如何仅在启用 JavaScript 的情况下在 Anchor 标记中调用 Onclick,以防 Javascript 被禁用然后执行 href?
- excel - 通过 VBA 将 excel 工作表导出为 CSV,并显示公式结果
- date - 如何解释奇怪的日期/时间戳格式
- ios - @autoreleasepool 扩展 NSData 时?
- c# - 如何修复未显示的图表
- asp.net-mvc - 如何根据 kendogrid 内的第一个下拉值过滤第二个下拉列表
- r - R中的数据聚合,按条件分配虚拟变量
- python - 如何使用具有两个无维度的 Reshape keras 层?
- python - 为bubble_sort脚本调用函数时出现Python语法错误