RESTful处理功能/资源:GET还是POST?

时间:2012-01-18 14:31:45

标签: rest restful-architecture

我正在创建RESTful Web服务,其中一些资源是计算或处理功能。例如,用户可以通过提交图像并接收缩放或转换后的图像来缩放和转换图像。

根据 RESTful Web Services Cookbook ,第2.5节,我应该使用GET:

Treat the processing function as a resource, and use HTTP GET to fetch a
representation containing the output of the processing function. Use query
parameters to supply inputs to the processing function.

对于输入很简单的情况(例如点的长/纬度坐标),这很明显。但是,我应该对图像等较大的输入采用相同的建议吗?据我所知,不可能将这么多数据作为查询参数发送。

4 个答案:

答案 0 :(得分:6)

使用POST。实际上,您正在服务器上执行映像上载和处理。除非图像已存储在服务器上,否则无法想到另一种方法。

答案 1 :(得分:1)

图像是一种资源。使用PUT将资源放在服务器上,然后GET资源,提供指示所需大小的参数。

答案 2 :(得分:0)

由于HTTP上的协议限制,我建议不要使用它。这是一个非常有效的非常可行的例子,应该对此规则做出例外。

答案 3 :(得分:0)

查看此链接http://support.microsoft.com/default.aspx?scid=KB;en-us;q208427。它说IE的最大URL是2083个字符