我读了一个restful服务的例子,它只使用了两个HTTP方法:get post。 例如,服务器上有一个任务列表。要设计restful URL,我们可以使用:
www.example.com/task GET. return all the task list.
www.example.com/task/id GET. return the specific task.
www.example.com/task/create GET. return a task form.
www.example.com/task/create POST. post the data from task form page.
www.example.com/task/update/id GET. update a task with id, return a task form page.
www.example.com/task/update/ POST. update the task from the task form page.
www.example.com/task/delete/id GET. delete the task with ID.
通过这种方式,URL非常清晰,用户可以理解URL的含义。
这是一个宁静的URL定义的好习惯吗?
我们应该使用PUT,DELETE操作吗?如果是这样,如何设计向上URL? 感谢。
答案 0 :(得分:3)
www.example.com/tasks GET return all the task list.
www.example.com/tasks POST Create a new task
www.example.com/tasks/id GET return the specific task.
www.example.com/tasks/id PUT update the task
www.example.com/tasks/id DELETE delete the task with ID.
恕我直言,这是您处理任务所需的所有方法。
答案 1 :(得分:1)
www.example.com/task GET. return all the task list.
www.example.com/task/id GET. return the specific task.
www.example.com/task/create GET. return a task form.
www.example.com/task POST. create a new task
www.example.com/task/id/update GET. update a task with id, return a task form page.
www.example.com/task PATCH|PUT. update the task from the task form page.
www.example.com/task/id DELETE. delete the task with ID.
我想说一个更好的API就是实际使用HTTP动词描述每个动作应该做什么的API。
我还认为最好以实体ID(/task/id/update
vs task/update/id
)作为序言,因为它使得我们非常明确地表明我们正在对一个实体采取行动。
答案 2 :(得分:1)
www.example.com/task GET. return all the task list.
www.example.com/task/id GET. return the specific task.
www.example.com/task/create GET. return a task form.
www.example.com/task/create POST. post the data from task form page.
www.example.com/task/update/id POST. update a task with id, return a task form page.
www.example.com/task/update/ PUT/POST. update the task from the task form page.
www.example.com/task/delete/id POST/DELETE. delete the task with ID.
这个例子几乎是好的。