CouchDB-HTTP API

HTTPリクエストヘッダーを使用して、CouchDBと通信できます。これらのリクエストを通じて、データベースからデータを取得し、ドキュメントの形式でデータベースにデータを保存し、データベースに保存されているドキュメントを表示およびフォーマットすることができます。

HTTPリクエストフォーマット

データベースとの通信中に、get、head、post、put、delete、copyなどのさまざまなリクエスト形式を使用します。CouchDBのすべての操作で、入力データと出力データの構造はJavaScript Object Notation(JSON)オブジェクトの形式になります。

以下は、CouchDBとの通信に使用されるHTTPプロトコルのさまざまな要求形式です。

  • GET−このフォーマットは、特定のアイテムを取得するために使用されます。さまざまなアイテムを取得するには、特定のURLパターンを送信する必要があります。このGETリクエストを使用するCouchDBでは、静的アイテム、データベースドキュメントと構成、および統計情報をJSONドキュメントの形式で取得できます(ほとんどの場合)。

  • HEAD − HEADメソッドは、応答の本文なしでGET要求のHTTPヘッダーを取得するために使用されます。

  • POST−POSTリクエストはデータのアップロードに使用されます。POSTリクエストを使用するCouchDBでは、値の設定、ドキュメントのアップロード、ドキュメント値の設定、および特定の管理コマンドの開始を行うことができます。

  • PUT − PUTリクエストを使用して、新しいオブジェクト、データベース、ドキュメント、ビュー、およびデザインドキュメントを作成できます。

  • DELETE − DELETE要求を使用して、ドキュメント、ビュー、およびデザインドキュメントを削除できます。

  • COPY − COPYメソッドを使用すると、ドキュメントやオブジェクトをコピーできます。

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は主に再検証が必要なものを返します。これは、可能であれば情報を再検証する必要があることを示しています。

  • Content-length −このヘッダーは、サーバーから送信されたコンテンツの長さをバイト単位で返します。

  • Etag −このヘッダーは、ドキュメントまたはビューのリビジョンを示すために使用されます。

ステータスコード

以下は、httpヘッダーによって送信されるステータスコードの表形式とその説明です。

シニア番号 ステータスコードと説明
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

このステータスは、リクエストで送信されたデータが無効な場合に発行されます。

HTTPURLパス

データベースを直接操作できる特定のURLパスがあります。以下は、そのようなURLパスの表形式です。

シニア番号 URLと操作
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は、設計ドキュメントの定義を取得するために使用されます。

7

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

このURLは、指定されたデータベースの設計ドキュメントからビュー、ビュー名にアクセスするために使用されます。