¿Cómo crear un API REST con una custom query y procesado?
Intro
En este tutorial vamos a ver cómo crear un método en un API REST con parámetros y con un postprocesado.
Crear API
Para el ejemplo usaremos la ontología pública HelsinkiPopulation.
Para esto:
Accederemos al ControlPanel del Entorno CloudLab con mi usuario Developer: https://lab.onesaitplatform.com/controlpanel
Iremos a la sección My APIS en el menú DEVELOPMENT y seleccionaré CREAR API
En los datos del API seleccionaremos como ontología HelsinkiPopulation:
Crear QUERY para el API
4. Luego en las Operaciones marcaremos
QUERY (CUSTOM) para crear una operación a medida
Como estamos trabajando con la ontología HelsinkiPopulation que nos da la población en Helsinki por años (podemos verlo yendo a la Query Tool):
Haremos un método que nos devuelve la población pasándole el año como parámetro. La query sería:
Volvemos a la operación y completamos los datos de la operación, para pasar como parámetro el año lo marcaremos así {$year}
La plataforma nos pedirá el tipo de dato del parámetro y si se trata de una query en SQL:
Invocar API
Esto ya nos permite invocarla con un User Token. Podemos sacar el User Token desde la opción .
Para invocarla, seleccionaremos la opción SWAGGER:
Marcaremos HTTPS en la invocación:
Seleccionaremos el método:
y daremos . Esto nos pedirá el User Token y el año:
Al invocarlo, obtendremos los resultados:
Añadir Procesado a API
Ahora vamos a ver cómo añadir un postprocesado a este método. Para eso editaremos el método del API:
y habilitaremos el Proceso seleccionando . Esto habilitará el procesado del método en JavaScript (vía Nashorn).
Los datos resultados de la invocación al método se devuelven en un atributo llamado data y debemos acabar devolviendo un String. Se genera un procesado de ejemplo.
Modificaremos este proceso para quedarnos sólo con el año y el population, eliminando el elemento raíz:
Al volver a invocar al API, ahora obtendremos: