我正在尝试使用AWS CLI设置一些自定义API网关响应。这是我正在使用的命令(仅相关参数):
aws apigateway put-gateway-response --response-parameters method.response.header.Access-Control-Allow-Origin='"'"'*'"'"'
完整命令是:
aws apigateway put-put-put-pospons-response-dxd-response-type未经授权 - status-code 401 -Response-parameters method.Response.header.header.access-conconcess-control-wollow-wollow-oryigin ='''"'"'*'"'' - response -templates'{" application/json":" {" errorcode ":401," message ":$ context.erthic.error.error.messagestring}"}' - - 区域欧盟 - 韦斯特-1
,它失败了:
呼叫putgatewaywayresponse操作时发生错误(badrequestException):指定的无效映射表达式:验证结果:警告:[],错误:[指定的无效映射映射表达式:method.Response.header.Access-control-control-gally-aly-Origin]
如果没有该参数执行,则一切正常。我还尝试了JSON格式和相同的结果。
--response-parameters '{"method.response.header.Access-Control-Allow-Origin":"'"'*'"'"}'
有见地吗?预先感谢。
---编辑
只是为了额外的澄清。由于各种响应参数失败,这不仅涉及访问对照 - 允许 - 原始标头。
我相信网关响应参数的格式应为 gatewayresponse.header.[name]
。那将是地图密钥(目的地),值(源)是静态值(如您所拥有的)或映射表达式对method.request.(path|querystring|header).[name]
或stageVariables.[name]
或context.[name]
尝试使用 --response-parameters '{"gatewayresponse.header.Access-Control-Allow-Origin":"'"'*'"'"}'
,它对我有用