[英]Expand and Filter OData
我试图建立一个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
我之所以使用&$ expand = Franchise只是因为我需要Franchise对象中的“ FranchiseeName”,但我不想提取该对象的其余数据。 如何写请求,所以我只提取三个字段:PostalCode,FranchiseId,FranchiseeName。 该对象应如下所示:
{
"PostalCode": "48103",
"FranchiseId": 397,
"FranchiseeName": "Appliance.inc"
}
我假设#url#
是您实体的OData URI的占位符,例如http://server/odata/entityName
。
以下网址应获取您所需的数据:
http://server/odata/entityName?$select=PostalCode,FranchiseId&$expand=Franchise($select=FranchiseeName)
那应该只返回所需的数据,但仍具有与完整数据相同的结构,例如:
{
"PostalCode": "48103",
"FranchiseId": 397,
"Franchise": {
"FranchiseeName": "Appliance.inc"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.