如何记录AWS Amplify API.get请求以在url上查看queryStringParameters

时间:2018-01-25 16:59:32

标签: javascript reactjs react-native promise aws-amplify

我不确定如何记录/查看正在进行的实际请求。

我可以查看下面的代码并假设它是http://myendpoint.com?my/path?param=value,但是在其他地方使用更复杂的代码和变量,如何通过API.get告诉究竟是什么?

我问的主要原因是因为我不认为我的查询参数被附加到我的请求中,我希望确认。

const apiName = 'http://myendpoint.com'
const path = '/my/path'
const myInit = {
    queryStringParameters: {
        param: 'value'
    }
}

API.get(apiName, path, myInit)
    .then((response) => {
        console.log('> > > PLEASE TELL ME HOW TO LOG THE REQUEST < < <')
        resolve(response)
    },
    (err) => {
        console.log('err resp', err)
        resolve(err)
    })

编辑:仅供参考这是一个REACT NATIVE项目,因此不幸的是,Chrome网络标签之类的内容毫无用处。

1 个答案:

答案 0 :(得分:0)

好吧,我实际上认为我已经弄明白了,它归结为两个不同的东西:

<强> 1。添加放大器记录器:

我发现有一个Amplify记录器通过:
https://github.com/aws/aws-amplify/blob/master/media/logger_guide.md

所以我补充道:

Amplify.Logger.LOG_LEVEL = 'DEBUG'

现在当我在VS Code中调试时,我看到记录了请求URL。

<强> 2。实现'queryStringParameters'并非实际支持:。

我正在查看Amplify GitHub回购问题,发现实际上还没有支持queryStringParameters,这很有趣。

要发布的网址:https://github.com/aws/aws-amplify/issues/127

所以我把所有的查询参数都附加到path上,这样就可以了:

const apiName = 'http://myendpoint.com'
const path = `/my/path?param=${value}`

API.get(apiName, path)
.then((response) => {
    resolve(response)
},
(err) => {
    console.log('err resp', err)
    resolve(err)
})

我现在看到记录了请求URL,并将参数视为请求的一部分。