2

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

我可以查看下面的代码并假设它是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 Network 标签之类的东西没有用。

4

1 回答 1

3

好的,我实际上认为我想通了,它归结为两件不同的事情:

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实际上还不支持,这很有趣。

问题 URL: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,并将参数视为请求的一部分。

于 2018-01-25T17:34:28.883 回答