Patch vs Put -何时应该使用哪种方法?



Wikipedia说Put和Patch之间的主要区别是Put从Uri发送资源。那么/model/id。然后Patch将在body中发送要修改的数据,作为uri/model上的键/值。

PUT方法和PATCH方法之间的主要区别在于PUT方法使用请求URI提供类的原始版本资源,而PATCH方法提供一组指令修改资源。如果PATCH文件的大小大于首先是PUT方法发送的资源的新版本,然后是PUT[1]

但是Wiki的这句话是什么意思呢:如果PATCH文档比PUT方法发送的资源的新版本大,那么PUT方法更可取&;

这意味着如果指令集的长度(由PATCH提供)比新资源的长度(由PUT提供)长,那么您还不如直接使用PUT。

我会说大多数时候使用PUT,因为它更简单。如果PATCH指令很小,您可能会对较大的资源使用PATCH。

根据我所读到的,在更新1/多个字段可能导致现有资源中断/损坏的情况下,使用PUT而不是PATCH可能是有用的。因为在PUT中,我们发送完整的有效负载,它将包含比我们想要更新的字段更多的信息。

我们也可能有一个实现,其中对于PUT,如果某些字段导致资源更新,可能会产生不良后果。服务器可以返回带有消息的有效代码。

  • 我是在QA的背景下说的,我不是一个开发人员,所以我可能有有限的信息:)

最新更新