Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RESTAPI头的环回3和挂钩_Javascript_Node.js_Rest_Loopbackjs_Loopback4 - Fatal编程技术网

Javascript RESTAPI头的环回3和挂钩

Javascript RESTAPI头的环回3和挂钩,javascript,node.js,rest,loopbackjs,loopback4,Javascript,Node.js,Rest,Loopbackjs,Loopback4,我有一个使用loopback 3并公开REST API的遗留应用程序,我想从客户端的传入请求中获取我的JWT令牌。我编写了一个钩子,用于访问req对象以访问令牌 Object.keys(app.dataSources).forEach((name: string) => { if (camelCase(name) === name) { app.dataSources[name].connector.observe('before execute', (ctx, n

我有一个使用loopback 3并公开REST API的遗留应用程序,我想从客户端的传入请求中获取我的JWT令牌。我编写了一个钩子,用于访问req对象以访问令牌

Object.keys(app.dataSources).forEach((name: string) => {
    if (camelCase(name) === name) {
        app.dataSources[name].connector.observe('before execute', (ctx, next) => {
            if (!ctx.req.uri) return next(); 
            Object.keys(ctx.req).forEach(function(key) {
                console.log(key, ctx.req[key]);
            }); 
        });
    }
});
路线定义

accepts: [
    {arg: 'codeValue', type: 'string', required: false, http: {source: 'query'}},
    {arg: 'codeId', type: 'string', required: false, http: {source: 'query'}}
]
执行上述钩子时的输出

method GET
uri http://localhost:8010/api/v1/code/100
qs { codeValue: '' } <<== Issue 1
json true
form undefined
headers undefined  <<== Issue 2
timeout undefined

我们计划将环回版本4,但这是一个长期的过程。非常感谢您的指点。

环回团队您好,Hi Miroslav。非常感谢,这解决了一个长期存在的问题。
curl -H "codeId: TS01" -H "codeValue: 'TS 01" http://localhost:8081/api/v1/code/100