Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Agora que você alterou o endpoint de destino, já pode adicionar uma política ao seu proxy.
Uma política é um componente do Edge que pode ser anexado a diferentes pontos da mensagem. pelos proxies das APIs. As políticas podem transformar formatos de mensagem, aplicar o controle de acesso, chamar serviços remotos, autorizar usuários, examinar o conteúdo das mensagens para detectar possíveis ameaças e fazer muito mais.
Neste tutorial, você adicionará a política XMLtoJSON ao seu proxy. Essa política
converte o payload de uma mensagem XML para JSON. Ele também altera o cabeçalho
Content-Type
da resposta.
Para adicionar a política XML a JSON ao seu proxy:
- Abra a IU do Edge em um navegador e faça login.
- Clique em Proxies de API na janela principal e selecione um proxy. Para este exemplo, Selecione o proxy que você criou na Etapa 1: criar um proxy de API.
Clique na guia Desenvolver:
O Edge mostra o editor de proxy de API.
No painel Navigator, clique em Endpoints de proxy > padrão > PreFlow:
O Edge mostra o editor de fluxo:
Além disso, o Edge exibe a configuração padrão do endpoint de proxy Painel 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 adicionar uma política ao seu proxy, clique no botão + Etapa na
resposta pré-fluxo (a metade inferior do Editor de fluxo):
O Edge mostra uma lista categorizada de políticas na caixa de diálogo Adicionar que que podem ser adicionados ao seu fluxo:
- Role para baixo e selecione a política XML para JSON na categoria "Mediação".
Mantenha os nomes padrão e clique em Adicionar.
O Edge anexa a nova política ao pré-fluxo da resposta:
Quando você clica em Adicionar, o Edge faz o seguinte:
- Adiciona a nova política em Políticas no painel Navegador.
- Adiciona a política XML para JSON no painel Fluxo.
- Exibe o XML de configuração da política no painel Código.
- Clique em Save para salvar a revisão atual com as alterações.
Faça um teste. Em uma janela de terminal, execute o seguinte comando curl
:
curl https://org_name-test.apigee.net/getstarted
Em que:
- org_name é o nome da organização que a Apigee atribuiu a você ao você criou sua conta da Apigee.
-test
é o ambiente. Você implantou seu novo proxy no "teste" na Etapa 1: criar um proxy de API./getstarted
é o caminho base do proxy.
Também é possível abrir o mesmo URL em um navegador.
Você verá a seguinte resposta:
{ "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }
Se o corpo da resposta não tiver esta aparência, verifique se:
- O endpoint de destino é "https://mocktarget.apigee.net/xml", conforme descrito em
Etapa 3: altere o endpoint de destino:
- Se você receber "Olá, convidado!" como resposta, será necessário anexar "/xml" ao final do endpoint de destino.
- Se aparecer um erro 404, verifique se você está acessando "apigee.net", e não "apigee.com".
- A revisão mais recente do seu proxy está implantada. Tente implantar o proxy de API novamente conforme descrito em Como implantar e cancelar proxy de API.
Para ver os cabeçalhos de solicitação e resposta HTTP, ative o nível de detalhes em curl
com a
opção -vs
(v
torna a resposta detalhada, mas s
suprime
alguns dos detalhes menos interessantes). Por exemplo:
curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool
Você verá uma resposta semelhante a esta. Observe que o cabeçalho
Content-Type
na resposta é "application/json". A política XML para JSON
altera o cabeçalho antes de enviar a resposta de volta.
* 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" } }