AppSync HTTP解析器映射模板使用PATCH方法不生效问题咨询
问题原因与解决方案
核心原因
这不是AppSync的bug,属于HTTP数据源的配置遗漏。AWS AppSync的HTTP数据源默认仅放行GET、POST、PUT、DELETE四种HTTP方法,使用PATCH方法前需要你在数据源配置中显式将其加入允许的方法列表。正是因为AppSync在数据源层面直接拦截了未被允许的PATCH请求,没有将请求转发到后端,所以你才会看到请求未到达后端、直接返回内部错误的现象,切换到默认允许的POST/PUT方法时自然就能正常转发。
修复步骤
- 进入AppSync控制台对应API的「数据源」页面,找到你当前用户更新接口关联的HTTP数据源
- 点击编辑,在「允许的HTTP方法」配置项中勾选
PATCH并保存修改 - 若你的后端服务前还部署了API Gateway等网关服务,同步确认网关对应资源的OPTIONS预检响应头
Access-Control-Allow-Methods也包含PATCH,避免后续出现跨域报错
模板验证
你当前使用的resolver映射模板本身没有格式问题,从CloudWatch日志输出来看,模板转换后的method、body、resourcePath字段均符合预期,无需调整模板内容。
内容的提问来源于stack exchange,提问作者Maucan
相关产品推荐
相关产品推荐

