首页 > 其他分享 >ES 中的 POST 和 PUT 的区别

ES 中的 POST 和 PUT 的区别

时间:2023-01-20 21:23:07浏览次数:42  
标签:创建 ES PUT 操作 POST 资源

  1. PUT是幂等方法,POST不是。所以PUT用于更新、POST用于新增比较合适。

  2. PUT,DELETE操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。

  3. POST操作不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。
    还有一点需要注意的就是,创建操作可以使用POST,也可以使用PUT,区别在于POST是作用在一个集合资源之上的/articles),而PUT操作是作用在一个具体资源之上的(/articles/123),比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。

在ES中,如果不确定document的ID,那么直接POST对应uri( “POST /website/blog” ),ES可以自己生成不会发生碰撞的UUID;
如果确定document的ID,比如 “PUT /website/blog/123”,那么执行创建或修改(修改时_version版本号提高1)

标签:创建,ES,PUT,操作,POST,资源
From: https://www.cnblogs.com/fxh0707/p/17063247.html

相关文章

  • cookie、sessionStorage和localStorage的区别
    一、cookie、sessionStorage和localStorage的区别1、相同点:都是保存在浏览器端、而且是同源的2、区别:   CookieSessionStoragelocalStorage......
  • c++ namespace
    名字空间:名字空间有两个特征:1.顺序2.嵌套顺序:编译器和解释器相当于一个翻译官,拿着本子一行一行读代码,只有见过的名字才会记到本子上,每见过的名字他就不认识(所以C++需......
  • C++ Templates 中文版 电子书 pdf
    本书是C++模板编程的完全指南,旨在通过基本概念、常用技巧和应用实例3方面的有用资料,为读者打下C++模板知识的坚实基础。关注公众号:后厂村搬砖工。发送:电子书即可。......
  • Codeforces Round #844 (Div. 1 + Div. 2, based on VK Cup 2022 - Elimination Round
    《C.EqualFrequencies》  这道题的题意为:一个字符串str上每个字母的数量都一样,为平衡字符串现在给出一个字符串s,问最少改动多少使s变成平衡字符串,并写出该平衡字......
  • kubernetes(二)
    一、kubernetes高可用集群二进制部署(一)部署k8s高可用集群参考:https://www.kubernetes.org.cn/kubernetes%E8%AE%BE%E8%AE%A1%E6%9E%B6%E6%9E%84https://github.com/eas......
  • ES6-Promise与Class类
    一。Promise作用transitionend是过渡结束事件,只要过渡结束就会触发;回调地狱: ......
  • DB SQL 转 ES DSL(支持多种数据库常用查询、统计、平均值、最大值、最小值、求和语法)
    1.简介  日常开发中需要查询Elasticsearch中的数据时,一般会采用RestHighLevelClient高级客户端封装的API。项目中一般采用一种或多种关系型数据库(如:Mysql、PostgreSQL......
  • virtualbox虚拟机 NAT网络模式10.0.2.15 putty无法登录的解决方法
     001、查看本机ip10.0.2.15[root@pc1~]#ifconfig|headenp0s3:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet10.0.2.15netmask255.25......
  • django rest_framework 视图api开发
     importjsonfromdjango.httpimportJsonResponsefromdjango.views.decorators.csrfimportcsrf_exemptfromdjango.viewsimportViewfromdjango.utils.decorator......
  • Resources 资源
     资源具有非常广泛的含义,在WPF中任何对象都可以是资源。一个对象不必做任何特殊的事情就可以成为资源。资源处理基础架构完全致力于让您能够获取所需的资源,而不管资源是什么。它只......