Paso 4: Agrega una política

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Ahora que cambiaste el extremo de destino, estás listo para agregar una política al proxy.

Una política es un componente de Edge que puedes adjuntar a diferentes puntos del flujo de mensajes a través de los proxies de API. Las políticas pueden transformar los formatos de los mensajes, aplicar control de acceso, llamar a servicios remotos, autorizar a usuarios, examinar el contenido de los mensajes en busca de posibles amenazas y mucho más.

En este instructivo, agregarás la política de XML a JSON a tu proxy. Esta política convierte la carga útil de un mensaje XML en JSON. También cambia el encabezado Content-Type de la respuesta.

Para agregar la política de XML a JSON a tu proxy, haz lo siguiente:

  1. Abre la IU de Edge en un navegador y accede.
  2. Haz clic en Proxies de API en la ventana principal y selecciona un proxy. Para este ejemplo, selecciona el proxy que creaste en el Paso 1: Crea un proxy de API.
  3. Haz clic en la pestaña Develop:

    Edge muestra el Editor de proxy de API.

  4. En el panel Navegador, haz clic en Proxy Endpoints > default > PreFlow:

    Edge muestra el editor de flujo:

    Además, Edge muestra la configuración predeterminada del extremo del proxy en el panel Code:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ProxyEndpoint name="default">
      <Description/>
      <FaultRules/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <Flows/>
      <HTTPProxyConnection>
        <BasePath>/getstarted</BasePath>
        <Properties/>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
      </HTTPProxyConnection>
      <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
      </RouteRule>
    </ProxyEndpoint>
  5. Para agregar una política a tu proxy, haz clic en el botón + Step en el PreFlow de respuesta (la mitad inferior del editor de flujo):

    Edge muestra una lista categorizada de políticas en el cuadro de diálogo Agregar que puedes agregar a tu flujo:

  6. Desplázate hacia abajo y selecciona la política de XML a JSON en la categoría Mediación.
  7. Deja los nombres predeterminados y haz clic en Agregar.

    Edge conecta la política nueva al PreFlow de la respuesta:

    Ten en cuenta que, cuando haces clic en Agregar, Edge hace lo siguiente:

    • Agregará la política nueva en Políticas, en el panel de navegación.
    • Agregará la política de XML a JSON en el panel Flow (Flujo).
    • Mostrará la configuración XML de la política en panel de código.
  8. Haga clic en Save para guardar la revisión actual con sus cambios.

Ahora hazlo tú mismo. En una ventana de la terminal, ejecuta el comando curl:

curl https://org_name-test.apigee.net/getstarted

Donde:

Como alternativa, puedes abrir la misma URL en un navegador.

Deberías recibir la siguiente respuesta:

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

Si el cuerpo de la respuesta no es similar a este, verifica lo siguiente:

  1. Tu extremo de destino es “https://mocktarget.apigee.net/xml”, como se describe en el Paso 3: Cambia tu extremo de destino:
    • Si ves "Hola, invitado" como respuesta, se debe agregar "/xml" al final del extremo de destino.
    • Si obtienes un error 404, verifica que estás accediendo a "apigee.net" y no a "apigee.com".
  2. Se implementa la última revisión de tu proxy. Intenta volver a implementar el proxy de API como se describe en Implementa y anula la implementación de un proxy de API.

Para ver los encabezados de respuesta y solicitud HTTP, habilita la verbosidad en curl con la opción -vs (v hace que la respuesta sea detallada, pero s suprime algunos de los detallades menos interesantes). Por ejemplo:

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

Deberías obtener una respuesta similar a la siguiente. Ten en cuenta que el encabezado Content-Type de la respuesta es “application/json”. La política de XML a JSON cambia el encabezado antes de enviar la respuesta.

*   Trying 10.20.30.40...
* TCP_NODELAY set
* Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0)
...
> GET /getstarted HTTP/1.1
> Host: ahamilton-eval-test.apigee.net
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 25 May 2018 16:20:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 77
< Connection: keep-alive
< X-Powered-By: Apigee
< Access-Control-Allow-Origin: *
...
{ [77 bytes data]
{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

Próximo paso

Más información