CouchDB HTTP API怎么用?如何通过HTTP调用CouchDB接口?

文章导读
Previous Quiz Next 通过 HTTP 请求头,你可以与 CouchDB 进行通信。通过这些请求,我们可以从数据库中检索数据,以 documents 的形式将数据存储到数据库中,并且可以查看以及格式化存储在数据库中的 documents。
📋 目录
  1. HTTP 请求格式
  2. HTTP 请求头
  3. 响应头
  4. 状态码
  5. HTTP URL 路径
A A

CouchDB - HTTP API



Previous
Quiz
Next

通过 HTTP 请求头,你可以与 CouchDB 进行通信。通过这些请求,我们可以从数据库中检索数据,以 documents 的形式将数据存储到数据库中,并且可以查看以及格式化存储在数据库中的 documents。

HTTP 请求格式

在与数据库通信时,我们将使用不同的请求格式,如 get、head、post、put、delete 和 copy。对于 CouchDB 中的所有操作,输入数据和输出数据结构都将采用 JavaScript Object Notation (JSON) 对象的形式。

以下是用于与 CouchDB 通信的 HTTP 协议的不同请求格式。

  • GET − 此格式用于获取特定项目。要获取不同项目,你需要发送特定的 URL 模式。在 CouchDB 中,使用此 GET 请求,我们可以获取静态项目、数据库 documents 和配置,以及统计信息(大多数情况下以 JSON documents 的形式)。

  • HEAD − HEAD 方法用于获取 GET 请求的 HTTP 头,而不包含响应体。

  • POST − POST 请求用于上传数据。在 CouchDB 中,使用 POST 请求,你可以设置值、上传 documents、设置 document 值,并且还可以启动某些管理命令。

  • PUT − 使用 PUT 请求,你可以创建新的对象、databases、documents、views 和 design documents。

  • DELETE − 使用 DELETE 请求,你可以删除 documents、views 和 design documents。

  • COPY − 使用 COPY 方法,你可以复制 documents 和对象。

HTTP 请求头

HTTP 头应提供正确的格式和编码。在向 CouchDB 服务器发送请求时,你可以随请求一起发送 HTTP 请求头。以下是不同的 HTTP 请求头。

  • Content-type − 此头用于指定随请求提供给服务器的数据的内容类型。通常,我们随请求发送的内容类型将是 MIME 类型或 JSON (application/json)。强烈推荐在请求中使用 Content-type。

  • Accept − 此头用于向服务器指定客户端可以理解的数据类型列表,以便服务器使用这些数据类型发送响应。通常,这里你可以发送客户端接受的 MIME 数据类型列表,以冒号分隔。

    尽管在 CouchDB 的查询中使用 Accept 不是必需的,但强烈推荐使用,以确保返回的数据可以被客户端处理。

响应头

这些是服务器发送的响应的头。这些头提供了服务器作为响应发送的内容信息。

  • Content-type − 此头指定服务器返回的数据的 MIME 类型。对于大多数请求,返回的 MIME 类型是 text/plain。

  • Cache-control − 此头建议客户端如何处理服务器发送的信息。CouchDB 通常返回 must-revalidate,这表示如果可能,应重新验证信息。

  • Content-length − 此头返回服务器发送的内容长度,以字节为单位。

  • Etag − 此头用于显示 document 或 view 的修订版本。

状态码

以下是 HTTP 头部发送的状态码及其描述的表格形式。

Sr.No. Status Code & Description
1

200 − OK

当请求成功完成时,将发出此状态码。

2

201 − Created

当创建文档时,将发出此状态码。

3

202 − Accepted

当请求被接受时,将发出此状态码。

4

404 − Not Found

当服务器无法找到请求的内容时,将发出此状态码。

5

405 − Resource Not Allowed

当使用的 HTTP 请求类型无效时,将发出此状态码。

6

409 − Conflict

每当出现更新冲突时,将发出此状态码。

7

415 − Bad Content Type

此状态码表示服务器不支持请求的内容类型。

8

500 − Internal Server Error

每当请求中发送的数据无效时,将发出此状态码。

HTTP URL 路径

有一些特定的 URL 路径,您可以使用它们直接与数据库交互。以下是此类 URL 路径的表格格式。

Sr.No. URL & Operation
1

PUT /db

此 URL 用于创建新数据库。

2

GET /db

此 URL 用于获取现有数据库的信息。

3

PUT /db/document

此 URL 用于创建文档/更新现有文档。

4

GET /db/document

此 URL 用于获取文档。

5

DELETE /db/document

此 URL 用于从指定数据库中删除指定的文档。

6

GET /db/_design/design-doc

此 URL 用于获取 design document 的定义。

7

GET /db/_design/designdoc/_view/view-name

此 URL 用于从指定数据库的 design document 中访问视图 view-name。