Web services 休息:接电话

Web services 休息:接电话,web-services,rest,restful-architecture,Web Services,Rest,Restful Architecture,我正在读一本关于休息的书。它建议对于GET请求,方法名称应该在HTTP方法头中,检索数据所需的任何参数都应该在URI中。 示例:www.flickr.com/search=penguins 现在,在许多情况下,检索数据需要许多参数。例如,应用程序的名称、用户的名称、用户的地址等。如果检索数据需要许多参数,那么最好将这些信息包含在URI中,还是我们可以传递JSON对象并使用HTTP POST 或者这会使服务不是RESTful的吗?不,您不能在GET请求中传递JSON,因为GET请求没有主体。您可以

我正在读一本关于休息的书。它建议对于GET请求,方法名称应该在HTTP方法头中,检索数据所需的任何参数都应该在URI中。 示例:www.flickr.com/search=penguins

现在,在许多情况下,检索数据需要许多参数。例如,应用程序的名称、用户的名称、用户的地址等。如果检索数据需要许多参数,那么最好将这些信息包含在URI中,还是我们可以传递JSON对象并使用HTTP POST


或者这会使服务不是RESTful的吗?不,您不能在
GET
请求中传递JSON,因为
GET
请求没有主体。您可以使用
在URI中传递多个查询参数,例如:

http://myserver:port/search=penguins&type=movie&name=happy

您可以使用Chrome网络商店中的
Postman
DHC
来测试您的请求和响应。

与所有事情一样,存在权衡。如果使用带有查询参数的GET进行过滤,并且数据是可缓存的,则缓存将能够存储这些请求的结果,并在以后保存工作。但是,查询字符串的大小是有限的。浏览器的上限允许为2k个字符,但大多数浏览器至少支持8k个字符

如果使用POST和筛选器正文进行筛选,则可以将该筛选器另存为资源,并在以后的GET调用中引用它。您也没有查询大小的上限