¿Cómo crear un API REST con parámetros y con postprocesado?

ES | EN


En este tutorial vamos a ver cómo crear un método en un API REST con parámetros y con un postprocesado.

Para el ejemplo usaremos la ontología pública HelsinkiPopulation.

Para esto:

1) Accederemos al ControlPanel del Entorno CloudLab con mi usuario Developer: https://www.onesaitplatform.online/controlpanel/main  

2) Iremos a la sección My APIS en el menú DEVELOPMENT y seleccionaré CREAR API

3) En los datos del API seleccionaremos como ontología HelsinkiPopulation:

   

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:

   

5) 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:

   


6) Daremos a Guardar el 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:

   

6) 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:

  





(c) 2020 Indra Soluciones Tecnologías de la Información, S.L.U.