2

当我从http://example.com/organization/获取时,我得到一个组织列表。

当我从http://example.com/organization/xyz/获取时,我得到了组织 xyz 的记录。

当我将表单数据发布到http://example.com/organization/时,我创建了一个新组织。

我应该使用什么 URL 来获取表单以通过 POST 到http://example.com/organization/来创建新组织?

查看如何对编辑表单执行 RESTful 请求?和其他来源,看来我真的在为组织寻找表单资源——所以我应该在http://example.com/organization/form/之类的地方获取该表单,然后将其发布到http://example。 com/organization/如上所述。这似乎......虽然不整洁。

更新

tuespetre 的评论让我认为最好的方法是拥有一个表单资源。组织表格通过 GET 提供给 /form/organization/,填写并发布到 /organization/。

4

2 回答 2

1

您所说的表单不是资源,而是收集用户输入以发布新资源的模板。

一种真正的“RESTful 方式”是利用一些 Javascript 将表单“包含”在集合页面/organizations中,或者作为隐藏的“向下滑动”表单,或者可能是在某个号召性用语按钮时出现的模态对话框被按下。出于两个原因,这将具有语义意义:

  1. 您不必为表单使用一些任意 URI(从您的域对象的意义上说,这并不是真正的资源),并且
  2. “创建”表单用于发布到集合,因此它与该集合密切相关,因此与集合完全不合适。

当然,您会发现对此有很多意见,但我不希望有任意的 URI 破坏既定模式(即,您没有得到一个 id 为“新”的组织,那么为什么会有这种不一致呢?)

于 2012-08-31T13:47:28.547 回答
0

如果您尝试实现它,我已经看到它以不同的方式完成,我认为没有规则(但是您可以遵循或不遵循不同的模式/方法)。我会让它http://example.com/organization/new/

于 2012-08-31T03:11:43.617 回答