CouchDB - API HTTP
Usando encabezados de solicitud HTTP, puede comunicarse con CouchDB. A través de estas solicitudes, podemos recuperar datos de la base de datos, almacenar datos en la base de datos en forma de documentos, y podemos ver y formatear los documentos almacenados en una base de datos.
Formatos de solicitud HTTP
Mientras nos comunicamos con la base de datos, usaremos diferentes formatos de solicitud como obtener, encabezar, publicar, colocar, eliminar y copiar. Para todas las operaciones en CouchDB, los datos de entrada y las estructuras de datos de salida estarán en forma de objeto JavaScript Object Notation (JSON).
A continuación se muestran los diferentes formatos de solicitud del protocolo HTTP que se utilizan para comunicarse con CouchDB.
GET- Este formato se utiliza para obtener un artículo específico. Para obtener diferentes elementos, debe enviar patrones de URL específicos. En CouchDB utilizando esta solicitud GET, podemos obtener elementos estáticos, documentos y configuración de bases de datos e información estadística en forma de documentos JSON (en la mayoría de los casos).
HEAD - El método HEAD se utiliza para obtener el encabezado HTTP de una solicitud GET sin el cuerpo de la respuesta.
POST- La solicitud de publicación se utiliza para cargar datos. En CouchDB usando la solicitud POST, puede establecer valores, cargar documentos, establecer valores de documentos y también puede iniciar ciertos comandos de administración.
PUT - Con la solicitud PUT, puede crear nuevos objetos, bases de datos, documentos, vistas y documentos de diseño.
DELETE - Con la solicitud DELETE, puede eliminar documentos, vistas y documentos de diseño.
COPY - Usando el método COPY, puede copiar documentos y objetos.
Encabezados de solicitud HTTP
Deben proporcionarse encabezados HTTP para obtener el formato y la codificación correctos. Mientras envía la solicitud al servidor CouchDB, puede enviar encabezados de solicitud Http junto con la solicitud. A continuación se muestran los diferentes encabezados de solicitud Http.
Content-type- Este encabezado se utiliza para especificar el tipo de contenido de los datos que proporcionamos al servidor junto con la solicitud. Principalmente, el tipo de contenido que enviamos junto con la solicitud será tipo MIME o JSON (aplicación / json). Se recomienda encarecidamente utilizar Content-type en una solicitud.
Accept- Este encabezado se usa para especificar el servidor, la lista de tipos de datos que el cliente puede entender, de modo que el servidor envíe su respuesta usando esos tipos de datos. Generalmente aquí, puede enviar la lista de tipos de datos MIME que acepta el cliente, separados por dos puntos.
Aunque no es necesario utilizar Aceptar en las consultas de CouchDB, se recomienda encarecidamente asegurarse de que el cliente pueda procesar los datos devueltos.
Encabezados de respuesta
Estos son los encabezados de la respuesta enviada por el servidor. Estos encabezados brindan información sobre el contenido enviado por el servidor como respuesta.
Content-type- Este encabezado especifica el tipo MIME de los datos devueltos por el servidor. Para la mayoría de las solicitudes, el tipo MIME devuelto es text / plain.
Cache-control- Este encabezado sugiere al cliente sobre el tratamiento de la información enviada por el servidor. CouchDB principalmente devuelve el must-revalidate, lo que indica que la información debe revalidarse si es posible.
Content-length - Este encabezado devuelve la longitud del contenido enviado por el servidor, en bytes.
Etag - Este encabezado se utiliza para mostrar la revisión de un documento o una vista.
Códigos de estado
A continuación se muestra la forma tabular del código de estado enviado por el encabezado http y la descripción del mismo.
No Señor. | Código de estado y descripción |
---|---|
1 | 200 − OK Este estado se emitirá cuando una solicitud se complete con éxito. |
2 | 201 − Created Este estado se emitirá cuando se cree un documento. |
3 | 202 − Accepted Este estado se emitirá cuando se acepte una solicitud. |
4 | 404 − Not Found Este estado se emitirá cuando el servidor no pueda encontrar el contenido solicitado. |
5 | 405 − Resource Not Allowed Este estado se emite cuando el tipo de solicitud HTTP utilizado no es válido. |
6 | 409 − Conflict Este estado se emite siempre que hay algún conflicto de actualización. |
7 | 415 − Bad Content Type Este estado indica que el servidor no admite el tipo de contenido solicitado. |
8 | 500 − Internal Server Error Este estado se emite cuando los datos enviados en la solicitud no son válidos. |
Rutas de URL HTTP
Hay ciertas rutas de URL con las que puede interactuar directamente con la base de datos. A continuación se muestra el formato tabular de dichas rutas de URL.
No Señor. | URL y operación |
---|---|
1 | PUT /db Esta URL se utiliza para crear una nueva base de datos. |
2 | GET /db Esta URL se utiliza para obtener información sobre la base de datos existente. |
3 | PUT /db/document Esta URL se utiliza para crear un documento / actualizar un documento existente. |
4 | GET /db/document Esta URL se utiliza para obtener el documento. |
5 | DELETE /db/document Esta URL se utiliza para eliminar el documento especificado de la base de datos especificada. |
6 | GET /db/_design/design-doc Esta URL se utiliza para obtener la definición de un documento de diseño. |
7 | GET /db/_design/designdoc/_view/view-name Esta URL se utiliza para acceder a la vista, nombre-vista del documento de diseño de la base de datos especificada. |