多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
PUT 和 POST 的区别 对于这两个方法我提供了几乎相同的简短描述。这两个方法困扰着许多开发人员。所以让我们单独地讨论他们。 PUT 和 POST 的关键不同在于 PUT 是幂等的,而 POST 不是。 另一个不同,使用 PUT 你需要定义资源完整的 URI。这意味着客户端能构造资源的URI哪怕资源不存在于服务器上。客户端选择资源唯一的名字或 ID 是可能的。就像在服务器上创建一个用户需要客户端选择用户 ID。如果客户端不能猜测出资源完整的URI,你别无选择,只能使用 POST。 ![](https://box.kancloud.cn/55f5ed3eceecbebbacea735e63c338d3_743x179.png) 很明显,PUT 请求不会修改或创建超过一个资源,无论触发多少次(如果URI相同)。当资源存在时 PUT 和 POST 是没有区别的,都是更新已存在资源。第三个请求(POST `http://MyService/Persons/`)会在每次触发都创建资源。许多开发人员认为 REST 不允许 POST 被用于更新操作。然而,REST 并没有这样的限制。