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')与子条件链接。 –