如果你有一个应用程序接口,并且仅仅因为URL长度限制和在请求中传递复杂的参数而支持POST操作,你还能说你有一个RESTful架构吗?
上面基本上暗示的是,对于这个特定的(只读) API,GET和POST之间没有语义差异,因此GET可以做的事情也可以通过POST完成(但由于限制,反之亦然)。
这仍然会使架构的风格成为RESTful风格吗?
发布于 2011-05-10 19:27:28
从技术上讲,您没有违反任何约束。然而,您正在严重降低请求的自描述性。这将导致失去缓存响应的能力。能够缓存响应是构建有效的REST系统所必需的基本功能。
发布于 2011-05-10 19:00:48
您肯定会失去HTTP为GET请求提供的功能。例如,代理对GET请求做出某些假设(幂等性、可缓存性)。
POST perse没有什么问题,但报告方法可能更合适。
发布于 2011-05-10 17:43:18
具象状态转移这一术语是由罗伊·菲尔丁于2000年在他的博士论文中引入和定义的。第6.3节解释了如何将REST应用于HTTP:http://www.ics.uci.edu/~fielding/pubs/dissertation/evaluation.htm#sec_6_3
菲尔丁并没有声称使用POST是被禁止的。
维基百科还提到POST是RESTful web服务的合法HTTP操作:http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services
https://stackoverflow.com/questions/5947414
复制相似问题