使用 aws-cli 在 AWS API 网关中启用 CORS
Enable CORS in AWS API Gateway with aws-cli
我目前正在编写脚本,以便在将资源添加到 AWS API 网关上的 API 端点后以编程方式启用 CORS。在探索 put-integration-response 函数数小时之后。我几乎取得了突破,但我遇到了一个错误:
An error occurred (BadRequestException) when calling the
PutIntegrationResponse operation: Invalid mapping expression specified:
Validation Result: warnings : [], errors : [No method response exists
for method.]
这是我用来启用 CORS 的脚本:
aws apigateway put-integration-response --rest-api-id XXXXX --resource
-id XXXX --http-method GET --status-code 200 --selection-pattern 200 --
response-parameters '{"method.reponse.header.Access-Control-Allow-
Origin": "'"'*'"'", "method.response.header.Access-Control-Allow-
Headers": "'"'integration.request.header.Authorization'"'"}'
我发现的奇怪的事情是 AWS 文档似乎与 aws-cli
的当前版本已经过时 我花了几个小时来解决我在 api 调用中遇到的一些基本问题.
如有任何想法,我们将不胜感激。
干杯!
尼亚
在 aws apigateway put-integration-response
的 AWS CLI 命令中发现了几个问题
- 有错别字
method.reponse.header.Access-控制-允许来源
必须是:
method.response.header.Access-Control-Allow-Origin
- 要将值“*”设置为
Access-Control-Allow-Origin
,您需要使用 "'"'"'*'"'"'"
而不是 "'"'*'"'"
在response-parameters中可以设置method.reponse.header.Access-Control-Allow-Origin
,但是不能设置method.response.header.Access-Control-Allow-Headers
- 错误原因
PutIntegrationResponse operation: Invalid mapping expression specified
是因为您试图在 response-parameters
中设置 method.response.header.Access-Control-Allow-Headers
下面应该是最终的 AWS CLI 命令
aws apigateway put-integration-response --rest-api-id XXXXX --resource-id XXXX --http-method GET --status-code 200 --selection-pattern 200
--response-parameters '{"method.response.header.Access-Control-Allow-Origin": "'"'"'*'"'"'"}'
我目前正在编写脚本,以便在将资源添加到 AWS API 网关上的 API 端点后以编程方式启用 CORS。在探索 put-integration-response 函数数小时之后。我几乎取得了突破,但我遇到了一个错误:
An error occurred (BadRequestException) when calling the
PutIntegrationResponse operation: Invalid mapping expression specified:
Validation Result: warnings : [], errors : [No method response exists
for method.]
这是我用来启用 CORS 的脚本:
aws apigateway put-integration-response --rest-api-id XXXXX --resource
-id XXXX --http-method GET --status-code 200 --selection-pattern 200 --
response-parameters '{"method.reponse.header.Access-Control-Allow-
Origin": "'"'*'"'", "method.response.header.Access-Control-Allow-
Headers": "'"'integration.request.header.Authorization'"'"}'
我发现的奇怪的事情是 AWS 文档似乎与 aws-cli
的当前版本已经过时 我花了几个小时来解决我在 api 调用中遇到的一些基本问题.
如有任何想法,我们将不胜感激。
干杯! 尼亚
在 aws apigateway put-integration-response
- 有错别字
method.reponse.header.Access-控制-允许来源
必须是:
method.response.header.Access-Control-Allow-Origin
- 要将值“*”设置为
Access-Control-Allow-Origin
,您需要使用"'"'"'*'"'"'"
而不是"'"'*'"'"
在response-parameters中可以设置method.reponse.header.Access-Control-Allow-Origin
,但是不能设置method.response.header.Access-Control-Allow-Headers
- 错误原因
PutIntegrationResponse operation: Invalid mapping expression specified
是因为您试图在 response-parameters
method.response.header.Access-Control-Allow-Headers
下面应该是最终的 AWS CLI 命令
aws apigateway put-integration-response --rest-api-id XXXXX --resource-id XXXX --http-method GET --status-code 200 --selection-pattern 200
--response-parameters '{"method.response.header.Access-Control-Allow-Origin": "'"'"'*'"'"'"}'