我想知道人们在多大程度上保持他们的应用程序 RESTful。在我看来,事情非常容易崩溃,此时我必须按照一位资深程序员曾经告诉我的那样,当我刚进入职业生涯并让他对他进行所有的哲学架构研究时:“只需编写该死的代码。”
具体示例,我在 Rails 应用程序中实现自定义身份验证,并且我有一个标准的“密码提醒”表单。从 REST 的角度来看,我们在流程结束时要做的是对用户对象进行 PUT,因为我们正在更新用户对象。但即使忽略您可能想要更新用户的多种方式(参见如何进行 REST-ful 更新?),我们一开始并不知道我们要更新的用户,到最后我们要更新发送电子邮件确认并使用用户标识符 + 安全密钥点击返回链接。所以现在最终触发用户更新的是一个简单的链接(哦,太可怕了!)——否则我必须用另一个按钮来惹恼我的用户,以实现 RESTful。
这只是引发我的问题的示例之一,但在我看来,在任何不平凡的应用程序中都必然会有几十个这样的案例。
那么,人们是否会使用 RESTful 架构作为一般指南,而巧妙的程序员会根据需要忽略?我从文献中得到的印象与此完全不同——因此问题是你如何处理例外情况。谢谢。
(实际上在我看来,这种情况下的最终结果将是另一种带有新密码/确认的表单,其目标可能是 PUT,但我通常认为这有时很笨重的感觉仍然存在。也许那是我的自己的缓慢——不会是第一次)。