管理與開發 > 整合中心功能 > 資源提供者 > 關係資源提供者 > extraParams 服務參數
  
extraParams 服務參數
用於建立、讀取及更新資源的大多數資源提供者服務都允許使用者透過 "extraParams" 服務參數調整結果。此參數是將選用資訊傳遞至相關服務的 JSON 物件。
$skip 與 $top
"extraParams" 參數中的 $skip 項目指定應從結果的開始處跳過或忽略的資源數。此功能由 OData 的 $skip 選項觸發,且與該選項類似。
"extraParams" 參數中的 $top 項目指定應傳回的資源數上限。達到此限制後的資源會從結果中忽略。此功能由 OData 的 $top 選項觸發,且與該選項類似。
如需有關 Odata 之 $skip$top 選項的詳細資訊,請參閱 www.odata.org
所有資源提供者都應支援 Get 服務的這些功能。在委派以也執行此動作的資源提供者的情況下,「資源管理員」支援其 Get 與 CallServiceByCriteria 服務的這些功能。只要資源提供者上的 Get 服務支援 (當預設 InflateFromRole 實行委派至 Get 時),對 RelationshipServiceProvider 的 InflateFromRole 服務預設實行也支援這些功能。
$expand
支援 "extraParams" 的 ResourceProvider 服務支援使用 "$expand" 作為索引鍵,來請求傳回的資源欄位以相關物件的「已展開」資訊擴增。此功能由 OData 的展開選項觸發,且與該選項類似。每個展開的角色都會導致再產生一個結果欄位以展開的角色命名,並包含相關物件之欄位的 InfoTables。
簡單的 $expand 值可以只是包含要展開為的關係角色之逗號分隔清單的字串。例如,您可能擁有可展開相關 Owner 與 Operator 角色的 "Owner,Operator"。此外,會針對每個所選角色傳回所有相關物件,且不會以特定順序傳回 -- 使用者無法篩選出無關的物件,也不能予以排序。
功能更強大的替代方法是為 $expand 索引鍵指定 JSON 物件值。此物件內的每個索引鍵都是要展開之角色的名稱。此 JSON 物件內的值本身就是 JSON 物件。在這些物件內,"dataShape" 與 "query" 可作為選用索引鍵獲得支援。總體 JSON 如下所示:
{
$expand: {
Owner: {
dataShape: {
....
},
query: {
....
},
$expand: {
....
}
},
Operator: {
....
}
}
}
"dataShape" 與 "query" 值的實際行為與內容在下表中詳細說明。
描述
dataShape
"dataShape" 索引鍵定義要透過 ThingWorx 資料形式從展開角色選取的欄位。欄位的值可以是持續 ThingWorx 資料形式實體的名稱,也可以是 ThingWorx DataShapeDefinition 的 JSON 物件形式。
query
"query" 索引鍵定義用來篩選及/或排序所展開角色結果的 ThingWorx 查詢。欄位的值必須是 ThingWorx 查詢的 JSON 物件形式。
嵌套 $expand
嵌套在外層 $expand 索引鍵內的 "$expand" 索引鍵指示要對展開結果本身執行的展開。此元素的格式與 $expand 相同。