如何使用REST请求从两个表中获取结构化json

时间:2016-08-13 20:31:01

标签: json rest android-json dreamfactory

是否能够实现从两个表中获取结构化响应的过程特征

我有两张桌子:'公司'和'电话'

公司包含公司,电话包含每家公司的电话号码。 一家公司 - >很多与companyID相关的手机

我需要这个结构:

{
  "resource": [
    {
      "companyId": 1,
      "companyName": "Apple",
      "companySubject": "Security",
      "phones": [
        {
          "name": "tel1",
          "phone": "+178548555"
        }
      ]
    },
    {
      "companyId": 2,
      "companyName": "Samsung",
      "companySubject": "IT",
      "phones": [
        {
          "name": "tel1",
          "phone": "+178548555"
        },
        {
          "name": "tel2",
          "phone": "+178548555"
        },
        {
          "name": "tel3",
          "phone": "+178548555"
        }
      ]
    },
    {
      "companyId": 3,
      "companyName": "LG",
      "companySubject": "Accounting",
      "phones": [
        {
          "name": "tel1",
          "phone": "+178548555"
        },
        {
          "name": "tel2",
          "phone": "+178548555"
        }
      ]
    }
  ]
}

问题是它们在不同的表中,我无法弄清楚如何实现它。

我将dreamfactory用于后端

1 个答案:

答案 0 :(得分:1)

如果表具有外键关系(在数据库中定义),那么您只需通过调用GET {service_name}/_table/{table_name}?related={relationship_name}即可获取电话 在上面的示例中,这可能类似于GET my_service/_table/Company?related=phones_by_companyId 您可以通过查看DreamFactory Schema选项卡中的表结构信息来获取关系名称,甚至可以为此关系创建别名,以便关系名称只是phonesWorking with related data

如果表格不相关,您可以使用DreamFactory的虚拟外键来关联它们。有关VFK的更多信息,请访问on the wiki