Lab002 - Configuración nuestro primer servicio

Una vez activo nuestro Xposer Server, continuaremos con la creación de los siguientes artefactos:

  • Endpoint Server
  • Route para exponer el consumo del endpoint
  • Rule o regla de consumo para autorizar el acceso al server endpoint.

1. Creación del Endpoint Server

1.1 Abrir el swagger-ui incluido con el Xposer Server entrando a la siguiente dirección:

https://localhost:8443/xposer-admin/v1/docs

1.2. Presionar el botón Authorize de la interfaz del swagger-ui para introducir el API Key:

xposer swagger-ui auth button

1.3. Introducir el Apikey en el dialogo y presionar Authorize una vez ofuscada la llave, presionar el botón Close:

apikey request clear

api key request obfuscated

1.4. Buscar en la sección de Xposer Admin SERVER, el método POST, y presionar el botón try it out:

try out api server

1.5. En la sección de body, colocar el siguiente payload:

{
  "name": "EXTERNAL API DEMO",
  "url": "https://rickandmortyapi.com/api/character",
  "description": "Rick & Morty apis",
  "apikey": "CHANGEME",
  "id": "server:rickymorty:001"
}

1.6. Presionar el botón de execute button y revisar que la ejecución se haya realizado correctamente.

response server creation 200

1.7. Verificar que se ha creado el servidor correctamente, consumiendo el servicio de GET Server By ID. Buscar el método GET con la ruta /xposer-admin/v1/servers/{id}:

get server by id

1.8. Presionar el botón try it out y en el campo de id, colocar el valor server:rickymorty:001

execution get server by id

1.9. Presionar el botón de execute button como se muestra en la imagen y como podemos observar, se retorna el server que acabamos de crear:

server by id confirmation

2. Creación de Ruta (Route) para exposición del servicio.

2.1. Abrir el swagger-ui incluido con el Xposer Server entrando a la siguiente dirección:

https://localhost:8443/xposer-admin/v1/docs

2.2. Presionar el botón Authorize de la interfaz del swagger-ui para introducir el API Key:

xposer swagger-ui auth button

2.3. Introducir el Apikey en el dialogo y presionar Authorize una vez ofuscada la llave, presionar el botón Close:

apikey request clear

api key request obfuscated

2.4. Buscar en la sección de Xposer Admin ROUTE, el método POST, y presionar el botón try it out:

try it out api route

2.5. En la sección de body, colocar el siguiente payload:

{
  "url": "/characters/*",
  "prefix": "/characters",
  "name": "Ruta para obtener un personaje específico",
  "tags": ["lab02"],
  "enabled": true,
  "methods": {
    "GET": {
      "schema": {
        "tags": ["Practica 3.1 - Lab002"],
        "summary": "Obtener los personajes de la serie",
        "consumes": ["application/json"],
        "description": "Esta es una prueba de la descripción"
      }
    },
    "PUT": {},
    "HEAD": {},
    "POST": {},
    "PATCH": {},
    "DELETE": {}
  },
  "metadata": {},
  "description": "Practica 1 - Laboratorio 2 - Configuracion de Rutas",
  "id": "ruta:rickymorty:0001"
}

2.6. Presionar el botón de execute button y revisar que la ejecución se haya realizado correctamente.

response route creation 200

2.7. Verificar que se ha creado la ruta correctamente, consumiendo el servicio de GET Route By ID. Buscar el método GET con la ruta /xposer-admin/v1/routes/{id}:

get route by id

2.8. Presionar el botón try it out y en el campo de id, colocar el valor ruta:rickymorty:0001

execution get route by id

2.9. Presionar el botón de execute button como se muestra en la imagen y como podemos observar, se retorna el server que acabamos de crear:

route by id confirmation

3. Creación de Regla de consumo

3.1. Abrir el swagger-ui incluido con el Xposer Server entrando a la siguiente dirección:

https://localhost:8443/xposer-admin/v1/docs

3.2. Presionar el botón Authorize de la interfaz del swagger-ui para introducir el API Key:

xposer swagger-ui auth button

3.3. Introducir el Apikey en el dialogo y presionar Authorize una vez ofuscada la llave, presionar el botón Close:

apikey request clear

api key request obfuscated

3.4. Buscar en la sección de Xposer Admin RULE, el método POST, y presionar el botón try it out:

try it out api rule

3.5. En la sección de body, colocar el siguiente payload:

{
  "name": "Regla para acceder a recurso Rick y Morty",
  "endpointType": "service",
  "server": "server:rickymorty:001",
  "description ": "Regla de Servidor de cons ú mo de servicios hacia el exterior",
  "groups": [],
  "consumers": [],
  "apikeys": [],
  "authorizationType": "none",
  "route": "ruta:rickymorty:0001",
  "id": "rule:rickymorty:api"
}

3.6. Presionar el botón de execute button y revisar que la ejecución se haya realizado correctamente.

response rule creation 200

3.7. Verificar que se ha creado la ruta correctamente, consumiendo el servicio de GET Rule By ID. Buscar el método GET con la ruta /xposer-admin/v1/rules/{id}:

get rule by id section

3.8. Presionar el botón try it out y en el campo de id, colocar el valor rule:rickymorty:api

execution get rule by id

3.9. Presionar el botón de execute button como se muestra en la imagen y como podemos observar, se retorna el server que acabamos de crear:

rule by id confirmation

4. Verificación de funcionamiento de la nueva ruta.

4.1. Desde la interfaz de swagger ui del Xposer Server, podemos observar que ya aparece una nueva sección que corresponde al Tag de la ruta que creamos en esta practica

route label tag lab002

4.2. Debemos extender la sección de la API, y presionar el botón de try it out para poder ejecutar la prueba.

4.3. Coloquemos en el formulario el valor de 1 en el parámetro de *, tal y como se ve en la siguiente imagen:

get request to endpoint

4.4. Presionar el botón de execute button para ejecutar la prueba. Debemos recibir una respuesta igual a esta:

response from testing endpoint

Con lo que podemos confirmar el funcionamiento de nuestra ruta.