ES的restful风格的HTTP方法详解

一、概述

restful是一种设计风格,用于构建Web服务和API。

在restful风格中,HTTP请求方法(如GET、POST、PUT、DELETE)和URL(统一资源定位符)被用来定义服务端资源的操作。

二、详解

1、GET方法

GET方法:用于获取指定资源或资源列表。对于GET请求,服务器会返回一个表示请求资源的实体,如果资源不存在,服务器会返回一个错误码。

GET /user/_doc/1

获取user文档的id为1的数据,数据格式为_doc,即为json格式

2、POST方法

POST方法:用于创建新的资源。对于POST请求,客户端必须发送一个表示新资源的实体,然后服务器会返回一个包含新资源URI的响应。

ES中的POST方法:用于更新和创建新的资源。对于POST请求,客户端必须发送一个表示新资源的实体,然后服务器会返回一个包含新资源URI的响应。

3、PUT方法

PUT方法:用于更新指定资源。对于PUT请求,客户端必须发送一个包含更新后的资源实体,服务器会使用该实体来更新指定的资源。如果资源不存在,服务器会创建一个新的资源。

ES中的PUT方法:用于更新和创建指定资源。对于PUT请求,客户端必须发送一个包含更新后的资源实体,服务器会使用该实体来更新指定的资源。如果资源不存在,服务器会创建一个新的资源。

4、DELETE方法

DELETE方法:用于删除指定资源。对于DELETE请求,服务器会删除指定的资源,并返回一个成功的响应。如果请求的资源不存在,服务器会返回一个错误码。

三、区别

在Elasticsearch 中的区别:

  • PUT 和 POST都可以用于创建或更新文档。
  • 使用 PUT 方法时,你需要在请求 URL 中指定文档的 ID。如果文档不存在,它会被创建。如果文档已存在,它会被覆盖
  • 使用 POST 方法时,你不需要在请求 URL 中指定文档的 ID。如果文档不存在,它会被创建,并自动生成一个 ID。如果文档已存在,则会抛出异常
  • PUT 和 POST 方法的主要区别在于是否需要指定文档 ID

四、总结

restful风格是一种通过HTTP请求方法和URL来定义Web服务和API的设计风格。在restful风格中,HTTP方法用于定义服务端资源的操作,如获取、创建、更新和删除资源。GET方法用于获取指定资源或资源列表,POST方法用于创建新的资源,PUT方法用于更新指定资源,DELETE方法用于删除指定资源。