Angular $resource POST 请求查询参数未被 AWS API 网关检测到?

Angular $resource POST request query params not detected by AWS API Gateway?

我正在测试 AWS 的 API 网关,但我无法让它读取来自 Angular.

的 POST 请求中包含的查询字符串参数

但是,当我使用 cURL 时,AWS 的 API 网关确实检测到查询字符串参数,所以这一定是一个 Angular 问题。我是不是漏了 Header 什么的?

仅供参考,我已经在 API 网关上正确设置了模板映射,所以这不是问题所在。

https://cabvt12afasf4.execute-api.us-east-1.amazonaws.com/resource?access_token=1234112313123

resourceCreate: {
        method: 'POST',
        isArray: false,
        params: {
            access_token: access_token
        },
        url: 'https://cabvtj3br4.execute-api.us-east-1.amazonaws.com/resource'
    },

问题是这样的:

Angular 将 Content-Type header 设置为 application/json;charset=UTF-8,这破坏了 AWS API 网关。

在我的 Angular $资源中将 Content-Type 切换为 application/json 解决了问题。

createResource: {
        method: 'POST',
        isArray: false,
        headers: {
            'Content-Type': 'application/json'
        },
        url: 'http://www.resource.com/create'
}