我正在努力坚持 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
但它们看起来像是杂乱无章而且不那么直观。 有什么想法或想法吗?
编辑 - 请参阅下面我对问题的回答。目前这是(我认为)最好的选择。
最佳答案
我确实会使用类似/resources/create
的东西。如果你想允许非数字标识符,那么这将不起作用。在这种情况下,您可以使用前缀来标识资源,例如 /resources/resource-{id}
,然后您仍然可以使用 /resources/create
。
我发现这篇博文对做出 URI 方案决策非常有帮助:http://blog.2partsmagic.com/restful-uri-design/
关于html - HTML 的 Restful 设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288380/