在Loopback4中,如何访问任何控制器和存储库中的请求级上下文(请求级上下文已在sequence.ts文件中提供)
sequence.ts
async handle(context: RequestContext) {
try {
const { request, response } = context; //TODO: How to access this context in controllers
const route = this.findRoute(request);
const args = await this.parseParams(request, route);
const result = await this.invoke(route, args);
this.send(response, result);
} catch (err) {
this.reject(context, err);
}
}
在try块的第一行“ const {request,response} = context;”中,要访问我的控制器和存储库中的此上下文变量。
通常在旧版Loopback2 / 3中,我通过以下步骤访问请求级上下文:
let LoopBackContext = require('loopback-context');
let ctx = LoopBackContext.getCurrentContext();
ctx.set('inTime', +new Date());
console.log(ctx.get('inTime'));
如果可以通过Loopback4访问每个请求上下文,请帮助我。
谢谢
答案 0 :(得分:0)
最后得到了解决方案。在控制器/存储库构造函数中,按如下所示插入上下文,
constructor(@inject(RestBindings.Http.REQUEST) private req: Request) {
}
meth() {
console.log(this.req);
}