当在AWS API Gateway中发起跨域请求时出现“请求的资源上没有“Access-Control-Allow-Origin”头”的错误时,可以通过以下方法解决:
使用AWS控制台进行配置: 在API Gateway的控制台中,选择相应的API,然后选择“资源”。 在资源列表中选择需要启用跨域请求的资源。 选择“方法”,然后选择要配置的HTTP方法(例如GET、POST等)。 在“Method Execution”页面中,展开“Integration Response”部分。 选择“添加头部映射”,并添加以下键和值: 键:Access-Control-Allow-Origin 值:* 点击“保存”以保存配置。
使用AWS CLI进行配置: 使用以下命令将“Access-Control-Allow-Origin”头添加到API Gateway资源的集成响应中:
aws apigateway put-integration-response --rest-api-id --resource-id --http-method --status-code --response-parameters "method.response.header.Access-Control-Allow-Origin"="'*'"
其中,
responses:
'200':
headers:
Access-Control-Allow-Origin:
type: string
将上述代码添加到相应资源的Swagger定义中。
以上是三种常见的解决方法,可以根据具体的情况选择其中一种来解决“请求的资源上没有“Access-Control-Allow-Origin”头”的问题。