次のOData式があるとします。
http://services.odata.org/northwind/northwind.svc/Categories?
$expand=Products/Category
Products.Category
を正しく展開します。
次に、別の物件も拡張したいと思います。たとえば、「Products.Supplier」です。
$expand
の使用法を複製してみました:
http://services.odata.org/northwind/northwind.svc/Categories?
$expand=Products/Category
&$expand=Products/Supplier
しかし、このエラーを返すことに失敗しました:
Query parameter '$expand' is specified, but it should be specified exactly once.
OData ABNFによると、展開構文は次のようになります。
expand = '$ expand' EQ expandItem *(COMMA expandItem)
これは次のようになります。
$expand=expandItem1,expandItem2,expandItem3,...
だから試してみてください:
詳細については、以下を参照してください。
http://www.odata.org/documentation/odata-version-2-0/uri-conventions/#ExpandSystemQueryOption
複数のレベルを展開するためにこの構文を試すこともできます。
$expand=Products($expand=Category),...
これは、WebAPIのMS OData実装でうまく機能します。