Creación de un proxy API a partir de una especificación OpenAPI

Esta página se aplica a Apigee y Apigee híbrido .

Ver la documentación de Apigee Edge .

Lo que aprenderás

En este tutorial aprenderás a:

  • Cree un proxy de API de Apigee a partir de una especificación OpenAPI.
  • Llame al proxy API usando cURL.
  • Agregar una política a un flujo condicional.
  • Pruebe la invocación de la política utilizando cURL.

Aprenderá a crear un proxy de API de Apigee a partir de una especificación OpenAPI mediante la interfaz de usuario de Apigee. Al llamar al proxy de API con un cliente HTTP, como cURL, este envía la solicitud al servicio de destino simulado de Apigee.

Acerca de la Iniciativa API Abierta

Iniciativa de API abierta

La Iniciativa Open API (OAI) se centra en la creación, el desarrollo y la promoción de un formato de descripción de API independiente del proveedor, basado en la Especificación Swagger. Para más información sobre la Iniciativa Open API, consulte la Especificación OpenAPI .

Una especificación OpenAPI utiliza un formato estándar para describir una API RESTful. Escrita en formato JSON o YAML, es legible por máquinas, pero también fácil de leer y comprender para humanos. La especificación describe elementos de una API como su ruta base, rutas y verbos, encabezados, parámetros de consulta, operaciones, tipos de contenido, descripciones de respuestas, etc. Además, una especificación OpenAPI se utiliza comúnmente para generar documentación de API.

Acerca del servicio de objetivos simulados de Apigee

El servicio de destino simulado de Apigee utilizado en este tutorial está alojado en Apigee y devuelve datos simples. No requiere clave API ni token de acceso. De hecho, puede acceder a él desde un navegador web. Pruébelo haciendo clic en el siguiente enlace:

http://mocktarget.apigee.net

El servicio de destino devuelve el saludo Hello, guest!

Para obtener información sobre el conjunto completo de API que admite el servicio de destino simulado, consulte las API de muestra de Apigee.

Lo que necesitarás

  • Antes de comenzar, debe completar los pasos que se indican en Descripción general y requisitos previos .
  • Una especificación OpenAPI. En este tutorial, usará la especificación OpenAPI mocktarget.yaml , que describe el servicio de destino simulado de Apigee ( http://mocktarget.apigee.net ). Para más información, consulte apigee/api-platform-samples .
  • cURL instalado en su máquina para realizar llamadas API desde la línea de comandos; o un navegador web.

Crear el proxy API

Para crear el proxy API a partir de una especificación OpenAPI:

  1. Si está utilizando la interfaz de usuario de Apigee en la consola de Cloud : seleccione Desarrollo de proxy > Proxies de API .

    Si está utilizando la interfaz de usuario clásica de Apigee : seleccione Desarrollar > Proxies de API y, en el panel Proxies , seleccione el entorno para el proxy.

  2. Haga clic en Proxies API en la ventana principal.

    Alternativamente, puede seleccionar Desarrollar > Proxies API en la barra de navegación izquierda.

    Haga clic en Proxies API en la página de destino

  3. Haga clic en Crear nuevo .

    Agregar proxy API
  4. En el asistente Crear proxy , haga clic en Usar especificación OpenAPI para la plantilla de proxy inverso (más común) .

    Construir un tipo de Proxy
  5. Haga clic en la URL e ingrese la siguiente información:

    URL de especificación de OpenAPI : ruta al contenido sin procesar en GitHub para la especificación de OpenAPI en el campo URL :

    https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
  6. Haga clic en Seleccionar .

    Se muestra la página de detalles del proxy en el asistente de creación de proxy . Los campos se rellenan previamente con los valores definidos en la especificación de OpenAPI, como se muestra en la siguiente figura:

    La siguiente tabla describe los valores predeterminados que se completan previamente mediante la especificación OpenAPI:

    Campo Descripción Por defecto
    Nombre Nombre del proxy de la API. Por ejemplo: Mock-Target-API . Propiedad title de la especificación OpenAPI con espacios reemplazados por guiones
    Ruta base Componente de ruta que identifica de forma única este proxy de API dentro de la organización. La URL pública de este proxy de API se compone de su nombre de dominio externo o interno y esta ruta base. Por ejemplo: http://apitest.acme.com/mock-target-api El contenido del campo de nombre se convirtió a minúsculas
    Descripción Descripción del proxy API. propiedad description de la especificación OpenAPI
    Objetivo (API existente) URL de destino invocada en nombre de este proxy de API. Se puede usar cualquier URL accesible a través de internet. Por ejemplo: http://mocktarget.apigee.net Propiedad servers de la especificación OpenAPI

    A continuación se proporciona un extracto de la especificación OpenAPI que muestra las propiedades que se utilizan para completar previamente los campos.

    openapi: 3.0.0
    info:
      description: OpenAPI Specification for the Apigee mock target service endpoint.
      version: 1.0.0
      title: Mock Target API
    paths:
      /:
        get:
          summary: View personalized greeting
          operationId: View a personalized greeting
          description: View a personalized greeting for the specified or guest user.
          parameters:
            - name: user
              in: query
              description: Your user name.
              required: false
              schema:
                type: string
          responses:
            "200":
              description: Success
    ...
    servers:
      - url: http://mocktarget.apigee.net
      - url: https://mocktarget.apigee.net
    ...
    
  7. En la página de detalles del proxy , edite el campo Descripción de la siguiente manera:
    API proxy for the Apigee mock target service endpoint.
  8. Haga clic en Siguiente .
  9. En la página Políticas comunes , en Seguridad: Autorización , asegúrese de que esté seleccionado Pasar a través (sin autorización) y haga clic en Siguiente :

    Pasar a través (sin autorización) seleccionado en la página de Políticas comunes

  10. En la página Flujos , asegúrese de que todas las operaciones estén seleccionadas.Crear un flujo de proxy
  11. Haga clic en Siguiente .
  12. En la página Resumen , asegúrese de que haya un entorno seleccionado en Implementación opcional y haga clic en Crear e implementar :

    Apigee crea su nuevo proxy API y lo implementa en su entorno:

  13. Haga clic en Editar proxy para mostrar la página Descripción general del proxy API.

Probar el proxy API

Puede probar su API Mock-Target-API utilizando cURL o un navegador web.

curl -v YOUR_ENV_GROUP_HOSTNAME/myproxy

Donde YOUR_ENV_GROUP_HOSTNAME es el nombre de host de su grupo de entornos. Consulte "Buscar el nombre de host de su grupo de entornos" .

Por ejemplo:

curl -v -k https://apitest.acme.com/myproxy

Respuesta

Debería ver la siguiente respuesta:

Hello, Guest!

Agregar una política XML a JSON

A continuación, agregará la política de XML a JSON al flujo condicional " Ver respuesta XML" , generado automáticamente al crear el proxy de API desde la especificación OpenAPI. La política convertirá la respuesta XML del destino en una respuesta JSON.

Primero, llame a la API para comparar los resultados con los obtenidos tras agregar la política. En una ventana de terminal, ejecute el siguiente comando cURL. Está llamando al recurso /xml del servicio de destino, que devuelve de forma nativa un bloque simple de XML.

curl -v https://YOUR_ENV_GROUP_HOSTNAME/mock-target-api/xml

Donde YOUR ENV_GROUP_HOSTNAME es el nombre de host del grupo de entornos. Consulte Encontrar el nombre de host del grupo de entornos .

Respuesta

Debería ver la siguiente respuesta:

<root> 
  <city>San Jose</city> 
  <firstName>John</firstName> 
  <lastName>Doe</lastName> 
  <state>CA</state> 
</root>

Ahora, transformemos la respuesta XML a JSON. Agreguemos la política de XML a JSON al flujo condicional "Ver respuesta XML" en el proxy de la API.

Nuevo editor de proxy

  1. Haga clic en la pestaña Desarrollar en la página Descripción general de Mock-Target-API en la interfaz de usuario de Apigee.

  2. Seleccionar Ver respuesta XML

  3. En el panel de la izquierda, en Puntos finales de proxy > predeterminado , haga clic en el flujo condicional Ver respuesta XML .
  4. En el panel izquierdo, haga clic en el botón + en la fila Políticas .
  5. En el cuadro de diálogo Crear política , haga clic en el campo Seleccionar tipo de política , desplácese hasta Mediación y seleccione XMLToJSON . Conserve los valores predeterminados para Nombre para mostrar y Nombre .

  6. Haga clic en Crear para crear la política.
  7. Haga clic en el botón + junto al flujo de respuesta Ver XML en Respuesta .

    Seleccionar +Paso

  8. En el cuadro de diálogo Agregar paso de política , haga clic en el campo Seleccionar política existente y seleccione XML a JSON-1 .
  9. Haga clic en Agregar . La política de XML a JSON se aplica a la respuesta.

    Política de XML a JSON en flujo

    Para ver el código del flujo condicional Ver respuesta XML , haga clic en Cambiar al editor de código .

  10. Haga clic en Guardar .

Editor de proxy clásico

  1. Haga clic en la pestaña Desarrollar en la página Descripción general de Mock-Target-API en la interfaz de usuario de Apigee.

    Pestaña de desarrollador
  2. En el panel del navegador izquierdo, en Puntos finales de proxy > predeterminado , haga clic en el flujo condicional Ver respuesta XML .

    Seleccionar Ver respuesta XML
  3. Haga clic en el botón +Paso inferior, correspondiente a la Respuesta para el flujo.

    Seleccionar +Paso

    Se abre el cuadro de diálogo Agregar paso para mostrar una lista categorizada de todas las políticas que puede agregar.

  4. Desplácese hasta la categoría Mediación y seleccione XML a JSON .

    Cuadro de diálogo Agregar paso
  5. Mantenga los valores predeterminados para Nombre para mostrar y Nombre .
  6. Haga clic en Agregar . La política de XML a JSON se aplica a la respuesta.

    Política de XML a JSON en flujo
  7. Haga clic en Guardar .

Ahora que has añadido la política, vuelve a llamar a la API mediante cURL. Ten en cuenta que sigues llamando al mismo recurso /xml . El servicio de destino sigue devolviendo su bloque de XML, pero ahora la política del proxy de la API convertirá la respuesta a JSON. Realiza esta llamada:

curl -v https://YOUR_ENV_GROUP_HOSTNAME/mock-target-api/xml

Donde YOUR ENV_GROUP_HOSTNAME es el nombre de host del grupo de entornos. Consulte Encontrar el nombre de host del grupo de entornos .

Tenga en cuenta que la respuesta XML se convierte a JSON:

{"root":{"city":"San Jose","firstName":"John","lastName":"Doe","state":"CA"}}