PUT或DELETE用于Web Api中的逻辑删除

时间:2015-07-01 20:55:20

标签: asp.net-web-api

我们是否应该在Web Api中为逻辑删除创建PUT或DELETE请求?我设置标志IsDeleted = 0或1

1 个答案:

答案 0 :(得分:3)

Web API的REST思想将HTTP谓词映射到资源上的操作,典型映射如下所示:

  • GET = READ
  • POST = CREATE
  • PUT = UPDATE(虽然有时使用PATCH代替PUT,而PATCH可能更准确)
  • DELETE = DELETE

我要问的问题是,删除操作是否符合API的消费者的逻辑,而不是物理,透明?如果API使用者的期望是他们正在删除记录,那么我将DELETE谓词用于请求。

是的,你可以使用PUT / PATCH来更新IsDeleted字段,而且它本身不会错误,但我会从这个角度来看这个API消费者期望在这种情况下决定哪个是正确的。