Paso 4: Agrega una política

Estás viendo la documentación de Apigee Edge.
Ve a 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 mensaje fluyan a través de los proxies de tu 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. En 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 mostrará el editor de proxy de API.

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

    Edge muestra el editor de Flow:

    Además, Edge muestra la configuración predeterminada del extremo del proxy en la 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 su proxy, haga clic en el botón + Step la respuesta PreFlow (la mitad inferior del editor de flujo):

    Edge mostrará una lista categorizada de políticas en el cuadro de diálogo Add que 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 adjunta la política nueva al flujo previo de la respuesta:

    Ten en cuenta que, cuando haces clic en Add, 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

Aquí:

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 Paso 3: Cambia el 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 tu proxy de API como se describe Consulta Cómo implementar y anular la implementación 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