我正在构建一个允许客户端存储对象的服务器。这些对象在客户端完全构建,并带有在对象整个生命周期中永久存在的对象ID。
我已经定义了API,以便客户端可以使用PUT创建或修改对象:
PUT /objects/{id} HTTP/1.1
...
{json representation of the object}
{id}是对象ID,因此它是Request-URI的一部分。
现在,我也在考虑允许客户端使用POST创建对象:
POST /objects/ HTTP/1.1
...
{json representation of the object, including ID}
由于POST的意思是“追加”操作,因此我不确定在对象已经存在的情况下该怎么做。我应该将请求视为修改请求还是应该返回一些错误代码(哪个)?