2

大家=)我是休息服务的新手,所以我不确定某些功能是否可行。例如,我有一个项目列表和许多在去杠杆到客户端应用程序之前过滤这些项目的方法。我正在使用返回格式的.net, linq& wcfrest 服务。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 ? 

提前感谢=)

4

1 回答 1

2

好问题!由于 restful web 服务使用 url 作为资源表示,例如:

.../items          =>             get all items
.../items/1        =>             get an item which id == 1
.../items/1/edit   =>             edit an item which id == 1
.../items?value='computer' =>     get all items which value == 'computer'

所以你可以看到你的网址:

 .../Items/ItemsWithValue('Value')...

它根本不代表任何特定资源。您似乎正在寻找一些按值过滤的项目。这就像一个搜索。所以你的第二个选择更好,使用任何你想要过滤的东西作为查询字符串。

于 2012-05-29T07:04:14.653 回答