Ember.js RESTAdapter:设置标题

时间:2015-09-08 16:21:03

标签: javascript jquery json ember.js ember-data

我正在使用一个API,它需要Authorization标题内的参数的HMAC sha256哈希值。

例如,这些可能是参数:

{ "book": { "title": "Test title", "author": "Test author" } }

我的问题是我在设置标题时无法弄清楚如何访问这些参数。

export default DS.RESTAdapter.extend({
    host: 'http://myapi',
    namespace: 'v1',
    shouldReloadAll() { return true; },
    shouldBackgroundReloadRecord() { return true; },
    headers: function() {
        var params = 'PLACE THE PARAMS HERE';
        var hmacString = CryptoJS.HmacSHA256('string', params).toString(CryptoJS.enc.Hex);
        return {
            Authorization: hmacString
        }
    }.property("Authorization")
});

上面的代码工作正常,但是我需要用JSON格式的实际参数替换params变量(如上所述)。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

我假设您要根据查询参数构建动态标头。

我认为您无法从headers属性中获取任何查询参数,您可能希望尝试通过覆盖header函数来构造find*