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

展开并筛选OData

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

    我正在尝试构建一个GET请求,以仅提取特定数据,但我在使用OData时遇到了问题。 从API中提取的对象如下所示:

        {
        "PostalCode": "48103",
        "FranchiseId": 397,
        "Franchise": {
            "ConceptId": 1,
            "CreatedDateTime": "2015-10-20T18:36:46.353",
            "ModifiedDateTime": "2018-01-26T14:35:33.447",
            "DeletedDateTime": null,
            "DoingBusinessAs": "Appliance.inc",
            "Status": "Active",
            "IsOwned": true,
            "FranchiseeName": "Appliance Inc - Ann Arbor, MI - MLY 1001",
            "LicenseNumber": "ML89023",
            "City": "Ann Arbor",
            "StateAbbr": "MI",
            "PostalCode": "48104",
            "ContactFirstName": "Doug",
            "ContactLastName": "Smith",
            "Country": "United States"
        }
    },
    

    我正在执行此GET请求以获取该数据:

    #url#&$expand=Franchise&$select=FranchiseId, PostalCode
    

    我正在使用(&A)$expand=特许经营,只是因为我需要特许经营对象中的“特许经营人”,但我不想提取该对象的其余数据。 如何编写请求,以便只提取三个字段:PostalCode、特许ID、特许经营人。对象应如下所示:

    {
    "PostalCode": "48103",
    "FranchiseId": 397,
    "FranchiseeName": "Appliance.inc"
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   M4N    7 年前

    我想 #url# 是实体的OData URI的占位符,例如。 http://server/odata/entityName .

    以下URL应获取所需的数据:

    http://server/odata/entityName?$select=PostalCode,FranchiseId&$expand=Franchise($select=FranchiseeName)

    应仅返回所需的数据,但仍具有与完整数据相同的结构,例如:

    {
      "PostalCode": "48103",
      "FranchiseId": 397,
      "Franchise": {
        "FranchiseeName": "Appliance.inc"
      }
    }