everyone =) 我是休息服務的新手,所以我不確定某些功能是否可行。 例如,我有一個項目列表和許多方法來過濾那些在刪除到客戶端應用程序之前。 我使用.net
,linq
& wcf
其餘服務與json
返回格式。 方式過濾列表:有很多條件的休息服務
.../Items/RecentOnes
.../Items/FilteredByDate
.../Items/ItemsWithCrashID('CrashId')
.../Items/ItemsWithValue('Value')
等 我需要這些過濾器在一個查詢中被調用。像
.../Items/ItemsWithValue('Value')/RecentOnes/FilteredByDate
或
.../Items/FilteredByDate/ItemsWithCrashID('CrashID')/Recent
和其他14種可能組合。 (正如你看到的,過濾器的順序應該沒有關係)
我的問題是 - 是否有可能以某種方式編寫這4個服務,使所有這些組合工作?
還是這樣做的唯一方法是寫一個單一的服務有4個參數,可以像
.../Items?recentOnes=true&FIlteredByDate=false&CrashID=&Value=somevalue ?
在此先感謝=)
使用REST的優點之一是能夠根據服務方法參數來格式化URL。所以,最新的格式看起來「RESTful」。如果你想使用多個過濾器,你可以使用一個條件對象,並將字符串表示形式傳遞給服務:'../ Items?condString = {condString}'。條件對象可以具有像過濾器名稱,值,比較運算符,否定和子條件列表等屬性。父條件通過邏輯運算符('AND','OR')與子條件鏈接。 –