PUT 可用于创建和更新完整记录。POST 通常用于部分更新和相关操作,以及在服务器上创建新类型的记录而不指定资源的 URL(例如 POST 到 /articles/23/comments 返回 201 状态和 Location: /articles /23/comments/283136 标题)。因此,在您的情况下(使用序列/自动增量 ID),您将使用该方法。
但是,HTML(以及 Web 表单)是不同的。它只知道 GET 和 POST,不知道 DELETE 和 PUT。对于删除和更新操作,它重载了 POST 方法。
这就是为什么 Agavi 默认情况下将 POST 映射到“write”,将 GET 映射到“read”——这是最常见的用例,之所以选择“read”和“write”是因为它们相对中立,并且在某种程度上也代表了安全性GET 与 POST 的各个方面(安全,如“可以在没有副作用的情况下调用 GET”等等)。
您可以在 factory.xml 中更改 AgaviWebRequest 实现的动词映射;如果您需要帮助,请参阅 Agavi 用户邮件列表或 IRC 频道(或在此处询问)。IRC 频道上的很多人在 URL 方案设计方面也非常有经验,以防您需要更多帮助来使您的 API 更漂亮。