在Web Api中,逻辑删除使用PUT或DELETE?

5
我们在Web Api中进行逻辑删除时,应该创建一个PUT请求还是DELETE请求呢?例如将IsDeleted标志设置为0或1。
1个回答

8
REST架构风格的Web API将HTTP动词映射到资源操作上,典型的映射如下:
- GET = 读取(READ) - POST = 创建(CREATE) - PUT = 更新(虽然有时会用PATCH代替PUT,而且PATCH可能更为正确) - DELETE = 删除(DELETE)
那么,我要问的问题是,删除操作是逻辑上的还是物理上的,在API的使用者眼中是否透明?如果API消费者期望他们正在删除一条记录,则应使用DELETE动词发出请求。
是的,您可以使用PUT/PATCH来更新IsDeleted字段,这并不完全“错误”,但我会从API使用者的角度考虑这个问题,以决定在这种情况下哪个更为正确。

非常愉快!很高兴我能帮到你。 - devhammer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接