AWS API 网关集成请求正文映射模板
AWS API Gateway integration request body mapping template
我在 Web app.when 中使用 AWS API 和 Cognito 安全身份验证 app.when 我调用我的 api 没有覆盖集成请求正文映射模板它正在工作 fine.but 当我在集成请求主体映射模板中放置几行
如下图
#set($inputRoot = $input.path('$'))
{
'UserId' :'$context.authorizer.claims.email',
'Name' :'$context.authorizer.claims.name',
'UniqueID' :'$context.authorizer.claims.sub'
}
…它给了我以下错误:
XMLHttpRequest cannot load
https://ei25XXXXXXg.execute-api.us-east-2.amazonaws.com/Development/userlogin/getcurrentuser.
No 'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost:7080' is therefore not allowed
access. The response had HTTP status code 400.
但我已经启用 'Access-Control-Allow-Origin' 到 '*'。有人知道吗..?
问题中引用的消息中的“响应具有 HTTP 状态代码 400” 表示服务器断定请求有问题,并拒绝按预期响应。
所以你可能想要:
- 仔细检查请求以确保您没有犯任何语法错误或其他任何错误
- 测试来自其他 non-browser client/tool(例如 curl 或 postman)的相同请求
- 在服务器端检查您的服务器日志,以查看服务器在那里记录了哪些消息以指示请求有什么问题
您在浏览器控制台中收到一条消息说 “请求的资源上没有 'Access-Control-Allow-Origin' header” 只是偶然——真正的问题是你一开始并没有得到 200 OK 的响应,而是得到了 400。
事实是,大多数服务器,即使配置为在响应中发送正确的 CORS headers,通常也只会在 成功时发送那些 headers 响应,但不包括错误响应,例如 400。
我在 Web app.when 中使用 AWS API 和 Cognito 安全身份验证 app.when 我调用我的 api 没有覆盖集成请求正文映射模板它正在工作 fine.but 当我在集成请求主体映射模板中放置几行 如下图
#set($inputRoot = $input.path('$'))
{
'UserId' :'$context.authorizer.claims.email',
'Name' :'$context.authorizer.claims.name',
'UniqueID' :'$context.authorizer.claims.sub'
}
…它给了我以下错误:
XMLHttpRequest cannot load https://ei25XXXXXXg.execute-api.us-east-2.amazonaws.com/Development/userlogin/getcurrentuser. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:7080' is therefore not allowed access. The response had HTTP status code 400.
但我已经启用 'Access-Control-Allow-Origin' 到 '*'。有人知道吗..?
问题中引用的消息中的“响应具有 HTTP 状态代码 400” 表示服务器断定请求有问题,并拒绝按预期响应。
所以你可能想要:
- 仔细检查请求以确保您没有犯任何语法错误或其他任何错误
- 测试来自其他 non-browser client/tool(例如 curl 或 postman)的相同请求
- 在服务器端检查您的服务器日志,以查看服务器在那里记录了哪些消息以指示请求有什么问题
您在浏览器控制台中收到一条消息说 “请求的资源上没有 'Access-Control-Allow-Origin' header” 只是偶然——真正的问题是你一开始并没有得到 200 OK 的响应,而是得到了 400。
事实是,大多数服务器,即使配置为在响应中发送正确的 CORS headers,通常也只会在 成功时发送那些 headers 响应,但不包括错误响应,例如 400。