2015-03-19 50 views
0

我在询问从REST服务器检索客户端需要提供某些数据的信息时接受的最佳做法。在POST中指定JSON以从REST服务器获取信息

通常它是作为CGI参数来完成的......但是,为了获得信息,可以使用信息做一个带有json负载的POST吗?

+0

你能提供一个这样的请求的例子吗?参数是什么样的? – 2015-03-19 07:39:12

回答

0

是的。

虽然通常您使用GET来检索RESTFul服务中的数据,但实际上并未指定它必须如此。通过POST完成它是完全可以接受的。

参阅相关的问题PUT vs POST in REST

对于它是基于REST它必须有以下几点。统一接口,无状态,可缓存,客户端 - 服务器,分层系统,按需代码(可选)。在任何地方都没有规范说明你必须对特定的函数甚至HTTP方法使用特定的HTTP方法。

+0

我不同意。要获取资源,需要使用“GET”。 – 2015-03-19 07:34:59

+0

你有什么事实来支持你的不同意见吗? – Dijkgraaf 2015-03-19 19:25:27

+0

“或甚至HTTP方法”这是真的。同样,只要您的协议允许,您可以使用服务器用来创建新资源的JSON主体进行HTTP DELETE请求。但以这种方式做REST并不是大多数人所期望的。由于OP正在询问HTTP'POST'来提出一个基本上具有'GET'语义的请求,所以建议告诉他:“你可以做任何proctol dos都不会拒绝的事情,因为REST只是一种遵循一套原则“。在现实世界中进行REST也意味着:不要混淆人。你做。 – 2015-03-19 20:01:02