Loopbackjs 修改ctx.result不会更改POST响应

Loopbackjs 修改ctx.result不会更改POST响应,loopbackjs,Loopbackjs,我正在修改保存后模型的操作挂钩上的ctx.result,以简化POST方法的响应。响应应仅包含生成的id和不属于模型一部分的仅响应属性: MyModel.observe('after save',函数(ctx,next){ if(ctx.instance&&ctx.isNewInstance){ ctx.result={ id:ctx.instance.id, responseOnlyProperty:MyModel.getResponseOnlyPropertyValue() }; log('

我正在修改保存后模型的
操作挂钩上的
ctx.result
,以简化POST方法的响应。响应应仅包含生成的
id
和不属于模型一部分的仅响应属性:

MyModel.observe('after save',函数(ctx,next){
if(ctx.instance&&ctx.isNewInstance){
ctx.result={
id:ctx.instance.id,
responseOnlyProperty:MyModel.getResponseOnlyPropertyValue()
};
log('result:',ctx.result);
}
next();
});
如预期的那样,
ctx.result
将使用设置的新值写入控制台,但发送回客户端的响应正文仍然包含所有模型属性,并且不包含新添加的
responseOnly属性


修改响应正文的正确方法是什么?

他们建议使用afterRemote挂钩来调整响应:。因此,只需将实现的逻辑移到该方法中。很可能,ctx.result会在后期填充,这就是为什么在模型挂钩中放入ctx.result的内容会在后期被覆盖