环回:从模型中创建新的DTO字段

时间:2017-10-11 09:32:56

标签: node.js rest loopbackjs

我有一个loopback2 API服务。我无法通过RESTful层公开某些字段,方法是在模型JSON定义文件中使用spark.executor.cores 2 and spark.max.cores 10 to get 5 executors

我希望能够创建新的字段,以便在我的DTO中基于其他属性公开,而不会暴露这些。

例如,假设我的模型包含字段hiddenfirstname,我希望通过REST API公开新的surname(名字+姓氏),而不是其他两个。< / p>

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

实际上,这是一个有点愚蠢的问题。 Loopback并没有为你提供任何声明性的方式来为你的DTO提供新的属性,就像你想要隐藏一些但你可以通过远程钩子获得所需的所有灵活性一样。

例如:

Person.afterRemote('*.find', function (ctx, user, next) {
  if(ctx.result) {
      ctx.result.forEach(function (result) {
        result.fullname = `${result.firstname} ${result.surname}`;
        delete result.firstname;
        delete result.surname;
      });
  }

  next();
});

您可以根据需要缩小远程钩子表达式的范围,仅为您关心的端点提供此行为。