agavi框架使用PUT请求创建和POST更新信息。通常在REST中,这是以其他方式使用的(通常指POST添加信息,而PUT替换整个数据记录)。php mvc框架agavi是否使用符合REST的CRUD?
如果我理解正确,重要的问题是PUT必须是幂等的,而POST没有这个要求。因此,创建一个新记录可以是幂等的(即多个请求不会导致记录的多个创建),尤其是当通常ORM使用一个id作为主键并且不知道新记录的id时(因为它是在数据库中自动创建的),因此不能成为请求的一部分。鉴于PUT的要求,agavi如何保持幂等性的要求。
谢谢。
感谢您的回答。是的,我看到了一些关于如何在factories.xml文件中对其进行更改的说明。我很想知道为什么rails和agavi在他们的方法上有所不同。我想,你的回答给了我一个关于这个问题的新视角。 – txwikinger 2009-08-26 19:45:31
为了澄清,您应该指定“HTML 4.01”,因为HTML5的工作草案将其他HTTP动词添加到webforms。 – aehlke 2009-08-26 20:33:59