Elasticsearch之CURL命令的PUT和POST对比
PUT是幂等方法,而POST并不是。
PUT用于更新操作,POST用于新增操作比较合适。
PUT,DELETE操作是幂等的,所谓幂等就是指不管进行多少次操作,结果都一样。
比如,我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。
POST操作不是幂等,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。
还有一点需要注意的是,创建操作可以使用POST,也可以使用PUT。区别在于POST是作用在一个集合资源之上的(/articles),而PUT操作是作用在一个具体资源之上的(/articles/123),比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。
[hadoop@master elasticsearch-2.4.0]$ curl -XPOST http://master:9200/zhouls/user/1 -d '{"name" : "john" , "age" : 28}' {"_index":"zhouls","_type":"user","_id":"1","_version":1,"_shards":{"total":2,"successful":2,"failed":0},"created":true}[hadoop@master elasticsearch-2.4.0]$ [hadoop@master elasticsearch-2.4.0]$ zhouls是索引,user是类型,1是id [hadoop@master elasticsearch-2.4.0]$ curl -XPOST http://master:9200/zhouls/user -d '{"name" : "john"}' {"_index":"zhouls","_type":"user","_id":"AVz5Q9u7U8bDb6QDgbDS","_version":1,"_shards":{"total":2,"successful":2,"failed":0},"created":true}[hadoop@master elasticsearch-2.4.0]$ [hadoop@master elasticsearch-2.4.0]$
zhouls是索引,user是类型
由此,可见,如果,我们不指定id,则会自动随机生成 POST方式是自增id,PUT是必须要跟上id。 [hadoop@master elasticsearch-2.4.0]$ curl -XPUT http://master:9200/zhouls/user/2?op_type=create -d '{"name" : "john" , "age" : 28}' {"_index":"zhouls","_type":"user","_id":"2","_version":1,"_shards":{"total":2,"successful":2,"failed":0},"created":true}[hadoop@master elasticsearch-2.4.0]$ [hadoop@master elasticsearch-2.4.0]$
zhouls是索引,user是类型,2是id,
?op_type=create是
[hadoop@master elasticsearch-2.4.0]$ curl -XPUT http://master:9200/zhouls/user/2/_create -d '{"name" : "john" , "age" : 28}' {"error":{"root_cause":[{"type":"document_already_exists_exception","reason":"[user][2]: document already exists","index":"zhouls","shard":"2"}],"type":"document_already_exists_exception","reason":"[user][2]: document already exists","index":"zhouls","shard":"2"},"status":409}[hadoop@master elasticsearch-2.4.0]$ [hadoop@master elasticsearch-2.4.0]$
zhouls是索引,user是类型,2是id,
_create是 由此,可见,PUT是不允许,已经创建过的id,再来创建。
[hadoop@master elasticsearch-2.4.0]$ [hadoop@master elasticsearch-2.4.0]$ curl -XPUT http://master:9200/zhouls/user/3/_create -d '{"name" : "john" , "age" : 28}' {"_index":"zhouls","_type":"user","_id":"3","_version":1,"_shards":{"total":2,"successful":2,"failed":0},"created":true}[hadoop@master elasticsearch-2.4.0]$ [hadoop@master elasticsearch-2.4.0]$ [hadoop@master elasticsearch-2.4.0]$
Elasticsearch之CURL命令的PUT和POST对比相关推荐
- Elasticsearch之CURL命令的version控制
普通关系型数据库使用的是(悲观并发控制(PCC)) 当我们在修改一个数据前先锁定这一行,然后确保只有读取到数据的这个线程可以修改这一行数据 ES使用的是(乐观并发控制(OCC)) ES不会阻止某一数据 ...
- ElasticSearch快速入门三(curl命令讲解)
API测试工具_微博开放平台:https://open.weibo.com/tools/console# 感兴趣是可以使用这个工具玩一下restful接口调用,可以更形象的了解restful 下面我们 ...
- windows(64位)下使用curl命令
2019独角兽企业重金招聘Python工程师标准>>> Curl命令可以通过命令行的方式,执行Http请求.在Elasticsearch中有使用的场景,因此这里研究下如何在windo ...
- windows curl命令详解
概述 Curl命令可以通过命令行的方式,执行Http请求.在Elasticsearch中有使用的场景,因此这里研究下如何在windows下执行curl命令. 软件下载 下载地址:https://cur ...
- curl命令具体解释
对于windows用户假设用Cygwin模拟unix环境的话,里面没有带curl命令,要自己装,所以建议用Gow来模拟,它已经自带了curl工具,安装后直接在cmd环境中用curl命令就可,由于路径已 ...
- 百度一 29 岁程序员因使用CURL命令“篡改数据”被判有期徒刑一年九个月,并没收所有违法所得
整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 近日,中国裁判文书网公布了一起非法控制计算机信息系统.给赌博网站"大开方便之门"的案件,涉及金额达374万元 ...
- 最常用的CURL命令大全
为什么80%的码农都做不了架构师?>>> 日期:2012-6-10 来源:GBin1.com cURL是 一个非常实用的命令行工具,可以有效的帮助你处理URL相关操作和数据传 ...
- curl 命令行下载工具使用方法小结
获取curl curl 命令行下载工具 curl的官方网站为: http://curl.haxx.se 官方下载页面为:http://curl.haxx.se/download.html ...
- linux curl 命令模拟 http get post 请求
get post 提交的数据 地址 和步骤 需要用使用 burpsuite 先获取 再使用curl模拟请求 通过get方法请求: curl protocol://address:port/url?ar ...
最新文章
- mysql查看防火墙状态命令_Linux设置允许指定端口通过防火墙centos7
- ALV标准范例Demo汇总
- 怎么计算网站高峰期并发量和所需的带宽?
- angularjs学习曲线
- Oracle最新的Java 8更新破坏了您的工具-它是如何发生的?
- android复习第二天------布局
- win10修改时间同步服务器,解决win10时间服务器同步问题|重置win10时间服务配置...
- 【JAVA SE】第十三章 序列化与反序列化
- 无连接可靠传输_计算机网络-网络层和传输层
- 文件间调用变量(extern,include)[转]
- LINUX不能恢复式安装
- sizeof(std::string) 的大小
- 非香农类信息不等式_ICLR 2020 | 北大图灵班满分论文:基于计算约束下有用信息的信息论...
- 单机html游戏修改数据,星露谷物语存档修改图文教程 怎么修改游戏数据
- 金士顿 U盘群联 ps2251_60 量产
- oracle 中符号%3e,Oracle 数据类型
- 服务器报错 http error 503.the service is unavailable怎么解决
- 【UOJ 454】打雪仗(通信题)(分块)
- java爬虫工具xpath提取_爬虫 xpath (数据提取)
- win7虚拟机使用nat模式配置静态IP上网