+52 55 4336 6356, +52 55 4336 6368 contacto@semantiq.com.mx

Instancia API REST

Antes de insertar documentos con una API REST debemos crear una instancia. A continuación te mostramos los pasos necesarios para lograrlo:

Primero debemos crear una carpeta en la ruta de preferencia (en este ejemplo se creará en Escritorio) llamada ml-auto y dentro de ella se va a crear el archivo de configuración de la instancia API REST para comunicarse con una base de datos de MarkLogic con el nombre config.json:

{
"rest-api": {
"name": "8060-autos",
"database": "autos",
"port": "8060",
"forests-per-host": 1
}
}

Segundo ingresamos el siguiente código en la terminal para crear la instancia haciendo referencia al archivo config.json.

curl --anyauth --user admin:admin -X POST -d@"Desktop/ml-autos/config.json"
-i -H "Content-type: application/json" http://localhost:8002/v1/rest-apis

Esto creará un base de datos llamada autos, un bosque llamado autos-1 y un servidor de aplicaciones llamado 8060-autos que admite servicios REST a la base de datos. Asignando este servicio al puerto 8060.

También podemos ver que se creó con éxito a través de la interfaz de administrador con url localhost:8001. En la pestaña summary encontraremos los siguientes apartados Databases, AppServers, Forest:

Ahora nos vamos al navegador web de preferencia e ingresamos la url localhost:8060 para verificar que se creó la instancia de REST API.

Insertar documentos con una API REST

Para escribir documentos en una base de datos MarkLogic a través de la API REST mediante el servicio de REST API. Se requiere específicamente, usar un PUT para especificar la URI y el contenido del documento.

Insertar documentos XML

Para escribir documentos XML a través de una instancia de API REST debe configurar el tipo de contenido como application / xml. Debe proporcionar el contenido y especificando un URI para el documento que va a insertar este último paso puede ser opcional.

curl --anyauth --user admin:admin -X PUT -i -H "Content-Type:
application/xml" -d "<auto><marca>Aveo</marca><modelo>Chevrolet</modelo<descripcion>
El Chevrolet Aveo es un modelo compacto comercializado por la
firma norteamericana como parte de su estrategia de crear automóviles con
mejor acogida en Europa</descripcion></auto>"
"http://localhost:8060/v1/documents?uri=/autos/aveo.xml"

Insertar documentos JSON

Un documento JSON se puede escribir en una instancia de API REST configurando el tipo de contenido como application / json. Debe proporcionar el contenido y especificando la URI opcionalmente.

curl --anyauth --user admin:admin -X PUT -i -H "Content-Type:
application/json" -d '{"auto": {"marca": "Bentley", "modelo": "Continental
GT", "descripción": "El Bentley Continental GT es el deportivo por
excelencia de la firma británica"}}' "http://localhost:8060/v1/documents
uri=/autos/continental_GT.json"

Ingresamos el código en la terminal.

Insertar documentos especificando la ubicación del archivo

Puede insertar documentos a una instancia de API REST especificando la ubicación del archivo mediante el uso de la opción -T. De manera opcional puede especificar un URI para el documento que va a insertar.

curl --anyauth --user admin:admin -X PUT -i -H "Content-Type:
application/json" -T Desktop/ml-autos/chiron.json
"http://localhost:8060/v1/documents?uri=/patents/chiron.json"

archivo chiron.json

{
"auto":
{
"marca": "Bugatti",
"modelo": "Chiron",
"descripcion": "El Bugatti Chiron hace su debut en el Salón de Ginebra y,
sin duda, es una de las mayores estrellas de la muestra."
}
}

Acceder a un documento

Se puede acceder a un documento haciendo referencia a su URI con un GET.

curl --anyauth --user admin:admin -X GET
"http://localhost:8060/v1/documents?uri=/autos/continental_GT.json"

Otra manera de consultar si los datos fueron almacenados correctamente es desde la Interfaz de Query Console con url localhost:8000 seleccionando la base de datos «autos» y dando clic en explorar.

También puedes consultar nuestro artículo para insertar datos desde la Interfaz Query Console.

Para mayor información acerca del tema de insertar datos a una base de datos de MarkLogic con servicios API REST puede visitar la documentación oficial en el siguiente link https://docs.marklogic.com/guide/rest-dev.