2017-09-22 108 views
0

我想实施有效的Restful API
我有一个名为“乔布斯”的资源,也是我实现的CRUD [GET,POST,PUT ...]例如:GET: /api/jobs/1POST: /api/jobs/ with a body {...}
现在我想添加一个方法来启动一个工号1234
我该如何执行此操作? URI应该是什么?什么应该是HTTP动词?
有人可以给我一个例子如何为非CRUD功能实现有效的宁静api

回答

0

您可以创建一个新的资源

POST /started-jobs?jobId=1234 

您可以编辑工作在线状态:

PUT /jobs/1234 
{ 
    "state": "started", 
    .. 
} 

您可以使用微PUT

PUT /jobs/1234/state 
started 

这就是我的头顶。当然还有其他的选择。哪一个最好?这需要更多关于你想要完成的事情的信息。

+0

嗨,Eric,你是什么意思的微PUT?国家资源是什么?开始的是什么?你能解释一下吗?另外,在第二个选项PUT/jobs/1234中,我已经使用这个PUT来更新对象作为CRUD的一部分。所以再次使用它是不可能的。最后一件事,我可以使用POST并使用/ jobs/StartJob {jobId:1234} – user4045308

+0

@ user4045308我的意思是创建一个代表单个属性'state'的新端点。您可以将新状态作为字符串“PUT”到该端点。 –