在Web服务中传递查询参数之间的区别

时间:2013-02-26 22:55:03

标签: java ajax

在网络服务中将/cars/id/toyota/cars?id=toyota的查询参数传递有什么区别?

是一个REST与其他Web服务类型吗?

3 个答案:

答案 0 :(得分:1)

以Url或查询字符串的形式传递Rest服务中的参数,两者具有不同的意义。 简单来说就是

    这个玩具中的
  1. /cars/id/toyota是可变的,您的服务期待id/{variablename}之后的某些内容,否则会给出错误(找不到端点)。所以在这种情况下你的变量是强制性的。

  2. /cars?id=toyota在这种情况下,您的查询字符串(Id)将成为可选项。 因此,只要您想使该变量可选,就使用查询字符串。 :)

答案 1 :(得分:0)

没有,显然 - 这完全取决于消费服务期望检索参数的方式。

答案 2 :(得分:0)

这取决于接收方(您的Web服务器和您在该Web服务上使用的框架)。根据您的实现,这两者或两者都不可能是REST Web服务。

从概念上讲,区别在于来自Web服务器根目录(/)和参数的路径:

/cars/id/toyota是指向不含参数的路径/cars/id/toyota的网址

/cars?id=toyota是路径/cars的网址,其参数名为id,其值为toyota