休息服务有很多条件

标签 rest service multiparameter

大家=) 我是休息服务方面的新手,所以我不确定某些功能是否可行。 例如,我有一个项目列表以及在释放到客户端应用程序之前过滤这些项目的多种方法。 我正在使用 .netlinqwcf 休息服务以及 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 ? 

提前致谢=)

最佳答案

问得好!由于 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')...

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

关于休息服务有很多条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10793951/

相关文章:

windows - 服务启动的进程无法分配内存

java - 相同类型的通用多个参数

php - Laravel 5 REST API 验证

java - 如何用 Java 制作一个无 stub 的 Web 服务客户端?

symfony - 如何在功能测试中使用 symfony 4 模拟服务?

ruby-on-rails - ActiveRecord::MultiparameterAssignmentErrors 是什么意思?

Django Rest-将@action与自定义装饰器一起使用

rest - 无服务器功能与常规服务器设计的差异

java - 通过rest Api接收图像文件