在飞行前响应中,Access-Control-Allow-Methods不允许使用方法PUT。在AWS中

Ger*_*aub 1 javascript amazon-web-services aws-api-gateway

当使用ReactJS中的Fetch api对AWS apigateway进行PUT请求时,我一直收到错误消息。几乎可以肯定,我已经在aws中启用了CORS并将其部署。

提取代码如下所示:

fetch(urlUpdate, {
        method: "PUT",
        headers: {
          "Content-Type": "application/json"           
        },
        mode: 'cors',
        body: JSON.stringify({
          "Item": value;
        })
      });
Run Code Online (Sandbox Code Playgroud)

GET和POST请求均正常运行,尚未选中DELETE。

Mat*_*bst 5

该文档明确指出,除非您将资源限制为,或GET,否则您需要手动添加其他方法。HEADPOST

您必须设置一个OPTIONS方法来处理印前检查请求以支持CORS。但是,如果1)API资源仅公开GET,HEAD或POST方法,并且2)请求有效内容的内容类型为application / x-www-form-urlencoded,multipart / form-data或text / plain,并且OPTIONS方法是可选的,并且3)该请求不包含任何自定义标头。如果可能,我们建议您使用OPTIONS方法在您的API中启用CORS。

滚动到文档页面的底部。您需要添加

method.response.header.Access-Control-Allow-Methods : "'*'"