Couchdb-http-api
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要求を使用する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は主にmust-revalidateを返します。これは、可能であれば情報を再検証する必要があることを示します。
- Content-length -このヘッダーは、サーバーが送信したコンテンツの長さをバイト単位で返します。
- Etag -このヘッダーは、ドキュメントまたはビューのリビジョンを表示するために使用されます。
状態コード
以下は、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は、デザインドキュメントの定義を取得するために使用されます。 |
7 |
GET/db/_design/designdoc/_view/view-name このURLは、指定されたデータベースのデザインドキュメントのビューview-nameにアクセスするために使用されます。 |