基于我正在阅读的一本书和一些文章,指定REST API的方法是使用大多数HTTP方法,而不是将GET方法用于创建,如何在Sails.js的demo中显示,你可以只需向GET请求
创建模型实例/modelName/create?property=value
嗯,那根本不是RESTful。相反,我们应该向/modelName
发出PUT请求。或者,我在这里错过了什么?
答案 0 :(得分:2)
在REST API中,有两种方法可以由用户创建几乎所有资源。
包含新资源的集合的POST
:
[Request]
POST /gizmos
{
"name": "widget"
}
[Response]
201 Created
Location: /gizmos/71
或PUT
新资源直接到其位置:
[Request]
PUT /gizmos/71
{
"name": "widget"
}
[Response]
204 No Content
通过GET /gizmos/create
创建资源很糟糕。
GET
不应更改服务上的任何内容。这样做0,1或1000次都应该具有相同的效果:没有效果。GET
,POST
,PUT
,DELETE
- 是动词。答案 1 :(得分:1)
是的,你是。您从演示中学到的是从浏览器URL栏访问休息操作的快捷方式或助手,这些操作根本不是很安静。它用于测试目的(默认启用),不应在生产中使用。
使用http谓词向您的控制器发出请求,例如对DELETE
的{{1}}请求将删除ID为1的用户。这非常安静。