环回根据请求发送关系数据

时间:2019-02-05 08:23:26

标签: loopbackjs

在环回中,我们具有模型关系。 这是一个示例模型

{
  id: "gdfgd",
  name: "companyname",
  ownerId: "userId",
}

使用get端点请求时,响应就是这样。

但是,是否有任何方法可以使环回解析这些id并发回响应中嵌入的实际用户数据?

类似这样的东西

    {
      id: "gdfgd",
      name: "companyname",
      ownerId: {
        id: "hhrtgrt",
        username: "username",
        email: "ggg@ggg.gg"
      },
    }

1 个答案:

答案 0 :(得分:1)

您应检查docs (include relations)有关回送中的关系,尤其是包括过滤器。您可以在请求中包括一个关系,例如,如果您具有列表模型和任务模型,则可以具有Task belongsTo List关系和List hasMany Task关系。您还可以检查如何在docs (relations)中定义那些关系。

// model: List 
...
"relations":  {
  "tasks": {
    "type": "hasMany",
    "model": "Task",
    "foreignKey": ""
  }
}

// model: Task
...
"relations":  {
  "list": {
    "type": "belongsTo",
    "model": "List",
    "foreignKey": ""
  }
}

正确定义模型之间的关系后,您的GET请求将如下所示:

localhost:3000/api/List?filter[include]='tasks'  // get all lists with all tasks - each list will have all its tasks

localhost:3000/api/Task?filter[include]='list'  // get all tasks with their list - each task will have its parent list

通常,回送文档是开始旅程的好地方,他们提供了很多示例并对其进行了很好的描述。