【发布时间】:2015-10-27 08:07:30
【问题描述】:
我正在尝试为 both JSON 和 HTML 坚持 Restful 设计模式。我的问题是创建新资源的设计(除其他外,但这是问题的要点)。即:
JSON – POST to /resource creates a new resource.
JSON – GET to /resource returns a list of resources.
JSON – GET to /resource/{id} returns a resource.
HTML – POST to /resource creates a new resource.
HTML – GET to /resource returns a list of resources.
HTML – GET to /resource/{id} returns a resource.
到目前为止一切顺利——但我需要一个 HTML 表单来实际创建要发送到 HTML POST 的数据。显然 POST 和 GET 已经做了一些事情。我可以使用以下方法之一返回 HTML 表单:
HTML – GET to /resource?CREATE
HTML - GET to /resource?action=CREATE
HTML – GET to /resources/CREATE
但它们看起来像一个杂物,并不那么直观。 有什么想法或想法吗?
编辑 - 请参阅下面我对我的问题的回答。目前这是(我认为)最好的选择。
【问题讨论】:
-
我不明白你的意思。您不需要 HTML 表单来执行 POST 请求。
-
这是一个 HTML 应用程序(网页)。用户需要一个表单来输入数据以创建资源。与基于 JSON 的 API 不同,它已经拥有数据并将其简单地发布到 API。
-
@MarkUnwin,我宁愿添加一个名为
/templates/的端点,它返回一个模板/表单/给定操作所需的任何内容。似乎服务器应该不知道这种形式的存在。它可以接受或拒绝请求,并且以适当的格式提交它是客户端的工作。 -
@Opal,最好将其作为答案(而不是评论)。就像你的想法一样 - 谢谢。
-
@MarkUnwin,添加了答案。你能澄清一下这个场景吗?