我有一个拥有计数器的资源。为了举例说明,我们称其为资料档案,而计数器是该资料档案的浏览次数。
根据REST维基的规定,PUT请求应该用于资源的创建或修改,并且应该具有幂等性。如果我要更新资料档案的名称,那么这种组合就很好,因为我可以发出一条将名称设置为某个值的PUT请求,重复1000次也不会改变结果。
对于这些标准的PUT请求,我让浏览器执行以下操作:
PUT /profiles/123?property=value&property2=value2
要增加计数器,可以这样调用URL:
PUT /profiles/123/?counter=views
每次调用都会导致计数器增加。从技术上讲,这是一种更新操作,但它违反了幂等性。
我正在寻求指导/最佳实践。你只是将其作为POST请求处理吗?