REST:GET调用

时间:2017-02-16 10:39:00

标签: web-services rest restful-architecture

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

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

或者是否会使服务不是RESTful

2 个答案:

答案 0 :(得分:0)

不,您无法在GET请求中传递JSON,因为GET请求没有正文。您可以使用&在URI中传递多个查询参数,例如:

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

您可以使用Chrome网上应用店中的PostmanDHC来测试您的请求和回复。

答案 1 :(得分:0)

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

如果使用POST和过滤器主体进行过滤,则可以将该过滤器保存为资源并在以后引用它,包括在以后的GET调用中。您也没有查询大小的上限。