CouchDB 教程:与 CouchDB 通信的 HTTP API
HTTP 请求用于与 CouchDB 通信。
使用这些请求可以 -
- 从数据库中检索数据
- 以文件形式将数据保存到数据库
- 查看并格式化存储在数据库中的文档。
HTTP 请求格式
数据库在通信时使用不同的请求格式。这些请求格式为: get
、head
、post
、put
、 del 和 复制
。
在 CouchDB 中,所有操作的输入数据和输出数据结构都将采用 JavaScript 对象表示法 (JSON) 对象的形式。
请参阅以下用于与 CouchDB 通信的不同 HTTP 请求格式 -
GET:GET 请求格式用于检索特定元素。要获取不同的元素,必须发送特定的 URL 模式。使用对 CouchDB 的 GET 请求来检索静态元素、数据库文档和配置以及 JSON 文档形式的统计信息。
HEAD:HEAD 方法用于获取 GET 请求的 HTTP 标头,不带响应正文。
POST:post请求用于上传数据。在CouchDB中,POST请求主要用于设置值、加载文档、设置文档值,还可以触发某些管理命令。
PUT:PUT 请求用于创建新对象、数据库、文档、视图和设计文档。
DELETE:DELETE 请求用于删除文档、视图和设计文档。
COPY:COPY 方法用于复制文档和对象。
HTTP 请求标头
指定 HTTP 标头以进行正确的格式化和编码。将请求发送到 CouchDB 服务器时,HTTP 请求标头会随请求一起发送。下面解释了各种 HTTP 请求标头。
Content-type:Content-type 标头用于指定传递到服务器和请求的数据的内容类型。在大多数情况下,发送的内容类型将是 MIME 或 JSON(应用程序/JSON)。我们强烈建议在请求中使用 Content-type
。
Accept:Accept 标头用于指定服务器和客户端可以理解的数据类型列表,以便服务器将使用这些数据类型来发送其响应。一般来说,您可以在数据项之前发送客户端接受的以冒号分隔的 MIME 数据类型列表。
在 CouchDB 中,查询中不需要使用Accept
,但强烈建议确保返回的数据可以被客户端处理。
HTTP 响应标头
HTTP 响应标头是服务器发送的响应类型。这些标头提供有关服务器响应中发送的内容的信息。
有 4
响应头类型:
Content-type :Content-type 响应头指定服务器返回的 MIME 数据的类型。对于大多数请求,返回的 MIME 类型为 text/plain
。
Cache-control:Cache-control响应头(Cache-control
)用于建议客户端处理服务器发送的信息。 CouchDB 主要返回 must-revalidate
,这意味着如果可能的话应该重新验证信息。
Content-length:Content-length响应头(Content-length
)用于获取服务器发送的内容的长度(以字节为单位)。
Etag :Etag 标题用于指示文档或视图的修订。
HTTP 标头状态代码
下表定义了 HTTP 标头发送的状态代码及其工作原理:
状态代码 | 描述 |
---|---|
200 - OK | 当请求成功完成时,该状态已创建。 |
201 - 已创建 | 创建文档时会生成此状态。 |
202 - 已接受 | 接受请求时会生成此状态。 |
404 - 未找到 | 当服务器找不到请求的内容时,会发出此状态。 |
405 - 资源不允许 | 当使用的 http 请求类型无效时,会出现此状态。 |
409 - 冲突 | 只要与任何更新发生冲突,就会出现此状态。 |
415 - 内容类型错误 | 此条件指定服务器不支持请求的内容类型。 |
500 - 内部服务器错误 | 每当请求发送无效数据时,就会出现此状态。 |
用于与数据库交互的 HTTP URL 路径
下面是一些用于直接与数据库交互的 URL 路径的列表。
URL | 使用说明 |
---|---|
PUT /db | PUT url 用于创建新数据库。 |
GET /db | URL GET 用于检索有关现有数据库的信息。 |
PUT /db/document | PUT url 用于创建文档/更新现有文档。 |
GET /db/document | GET url 用于获取文档。 |
DELETE /db/document | DELETE url 用于从指定数据库中删除特定文档。 |
GET /db/_design/design-doc | 此 URL 用于获取设计文档定义。 |
GET /db/_design/designdoc/_view/view-name | 此 URL 用于从给定数据库访问设计文档中的视图 - view-name 。 |
原文来自【壹佰教程】。商业转载请联系作者获得许可。非商业转载请保存原文链接:https://www.yiibai.com/couchdb/http-api.html
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。