【发布时间】:2019-07-09 06:42:28
【问题描述】:
我已经分叉了 Lambada framework 并开始对其进行修改以添加对 CORS 标头的支持。 Lambada 使用 API Gateway API [原文如此] 来配置 API Gateway。
作为概念验证,我在 API Gateway 控制台中手动验证了必要的更改,然后在自动化代码中寻找相应的步骤。我首先对org.lambadaframework.aws.ApiGateway 进行了这个简单的更改(为简洁起见,省略了导入):
我成功地重建了框架。不幸的是,当我尝试使用它部署新的 Lambda 时,我得到:
[ERROR] 未能执行目标 org.lambadaframework:lambada-maven-plugin:0.0.6-cors:deploy (默认) 在 MyApp 项目上:部署时出现异常:无效 指定的映射表达式:验证结果:警告:[],错误 :[指定的映射表达式无效:Access-Control-Allow-Origin] (服务:mazonApiGateway;状态代码:400;错误代码: 错误请求异常;请求 ID:16509b8e-30eb-11e9-bc6b-f5d1416f03b5) -> [帮助 1]
什么会导致这个失败?!我已经手动执行了相同的步骤(通过 ApiGateway 控制台),它在那里工作正常。最终,我怎样才能启用 CORS 标头?
类似问题,使用 CLI:api gateway CORS setup
【问题讨论】:
-
应该是
map.put("Access-Control-Allow-Origin","*")为什么你使用 Boolean.FALSE ?? -
@RajarshiDas 好的,我尝试删除单引号并将 Boolean.FALSE 更改为 Boolean.TRUE。没有什么变化。错误消息完全相同。还有其他想法吗?如果有帮助,可以在此处docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html?com/… 找到 API 文档。
-
map.put("Access-Control-Allow-Origin","*") 两者都用...这没有真假
-
@RajarshiDas 甚至无法编译。请仔细查看代码。
-
@RajarshiDas PutMethodResponseRequest::withResponseParameters 需要 Map
标签: cors aws-lambda aws-api-gateway