如何在RESTful API中处理自动生成的ID?

时间:2011-04-12 15:22:20

标签: api rest

在设计使用数据存储区的RESTful API时,该数据存储区使用自动生成的ID(否则没有任何可靠的唯一值),如何指定添加(PUT)操作?

例如:

GET /widgets/

将返回所有小部件的列表。

GET /widgets/123

将返回特定小部件的信息。

POST /widgets/123

会更新小部件。

但是添加小部件的URL是什么?

PUT /widgets/???

即,我(作为客户)在添加ID之前不知道ID。

1 个答案:

答案 0 :(得分:1)

REST约定通常指定用于创建的POST和用于更新的PUT。这是因为PUT以及GET和DELETE是幂等方法。这意味着它们可以运行任意次,并且服务器的状态应该相同。 POST是一种非幂等操作,这意味着每次运行操作后服务器状态都不保证是相同的。

通常,您会发送到/widgets网址以添加项目。

有关详细信息,请参阅this