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:
- Abre la IU de Edge en un navegador y accede.
- 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.
Haz clic en la pestaña Develop:
Edge mostrará el editor de proxy de API.
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>
- 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:
- Desplázate hacia abajo y selecciona la política de XML a JSON en la categoría Mediación.
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.
- 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í:
- org_name es el nombre de la organización que te asignó Apigee cuando creaste tu cuenta de Apigee.
-test
es el entorno. Implementaste el proxy nuevo en la “probar” en el Paso 1: Crea un proxy de API./getstarted
es la ruta base del proxy.
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:
- 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".
- 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" } }