OData查詢選項 $select

使用API時,可允許Client端可透過$select語法回傳指定欄位(目前只針對第一層),多個欄位可用逗號(,)隔開

  1. 未指定$select,回傳全部欄位 http://Root/Namespace/{Version}/{Service}/{App}

  2. 只回傳欄位1 http://Root/Namespace/{Version}/{Service}/{App}?$select=Field1

  3. 回傳多個欄位,欄位1和欄位2 http://Root/Namespace/{Version}/{Service}/{App}?$select=Field1,Field2

  4. 以MOTC 鐵路的Station API 為例 https://tdx.transportdata.tw/api/basic/v2/Rail/TRA/Station ?$select=StationID,StationAddress

    1. StationID與StationAddress必須是原回傳資料擁有的欄位

    2. 回傳結果只會有StationID與StationAddress欄位,但若有指定不同輸出格式,會有不同結果:

      • 回傳資料指定為json時,只會回傳被select的欄位,除此之外,若其他欄位為非nullable,也會回傳系統預設值。

      • 回傳資料指定為xml時,沒有被指定的屬性若為class或是string,不會回傳該欄位,但若是其他屬性(int、bool、enum...),還是會回傳該欄位,其值為系統預設值。

Last updated