代码之家  ›  专栏  ›  技术社区  ›  jbernal

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

  •  0
  • jbernal  · 技术社区  · 7 年前

    我有一个环回2 API服务。我不能通过使某些字段通过RESTful层暴露它们 hidden

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

    例如,假设我的模型有字段 firstname surname 我想揭露一个新的 fullname (名字+姓氏)而不是其他两个。

    有什么方法可以做到这一点吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   jbernal    7 年前

    实际上,这是一个有点愚蠢的问题。当您想隐藏一些属性时,环回并没有提供任何为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();
    });