使用PATCH进行资源部分删除是否正确?应选DELETE还是PATCH?
应该用DELETE还是PATCH来处理这种“部分删除”操作?
- 你的场景本质是更新资源状态,而非销毁资源,所以更适合用
PATCH。 - 为什么不选DELETE?DELETE的语义是请求移除目标资源——哪怕实际底层可能没彻底删除,但对外传递的信号是“该资源不再可用或不存在”。而你的场景中用户仍能访问保留的关键信息,说明资源本身并未被移除,只是做了部分修改,这和DELETE的语义不匹配。
- 为什么选PATCH?PATCH的核心语义就是对资源进行部分修改,完全契合你“删除部分数据、保留关键信息且资源仍可被访问”的需求。你可以在请求体里明确指定要移除的字段,或者标记资源进入“已部分删除”的状态,精准对应操作本质。
内容的提问来源于stack exchange,提问作者shinzou
相关产品推荐
相关产品推荐

