javascript - 在 dstore/Rest 请求中添加查询参数
问题描述
我有一个像这样的 dstore/Rest 实例:
const entries = new Rest({ target: '/rest/entries' })
而且我需要为每个 PUT/POST 请求添加一个令牌作为查询参数,所以我的 PUT/POST 请求的 url 应该如下所示:
'/rest/entries/100500?token=some_token'
dstore/Rest 中是否有任何方便的方法来做到这一点?或者可能在每个请求之前设置标头并将令牌放在那里。无论如何,我的问题是在我打电话时建立正确的请求
entries.add({id: 100500, value: 'someValue'})
更新:
我发现 Rest.add 接受两个参数 - 对象和选项,并设法在标头中添加令牌:
entries.add(entry, {
headers: {
Token: token
}
})
但是我仍然对查询参数感到好奇。
解决方案
我设法为我找到了以下解决方案:
lang.extend(Rest, {
setToken: function(token) {
this.token = token
aspect.after(this, '_getTarget', function(target) {
if (this.token) {
target += '?token=' + this.token
this.token = undefined
}
return target
})
aspect.before(this, 'add', function() {
if (this.token) {
this.target += '?token=' + this.token
this.token = undefined
}
})
return this
}
})
我像这样使用它:
entries.setToken(token).add(data)
但我不确定这是完成任务的好方法。
推荐阅读
- python - 如何使用列表中的循环(列表包括字符串和变量)Python 3 在同一行输出结果?
- swift - 用正则表达式拆分字符串
- raspberry-pi3 - 如何“破解” NAS / Mediacenter / Raspberry Py 3?
- php - 为什么我没有在 PHP 中编辑文件的权限?
- php - 尝试访问 null 类型值的数组偏移量,但找不到正确的解决方案
- javascript - react native:如何制作在按下复选框时会选中复选框的文本标签?
- javascript - 我正在尝试为 React 应用程序设置 SSL Pinning
- spring-boot-test - 春季启动 2.3 @MockBean
- rabbitmq - 无法使用 brew 服务启动 RabbitMQ
- reactjs - 如何将服务与组件分离