Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
Os exemplos de API do Apigee Edge contêm os proxies, políticas, códigos e ferramentas de API de exemplo que ilustram os recursos dos serviços de API do Apigee Edge descritos abaixo.
Para instruções sobre como usar os exemplos, consulte Como usar os proxies de API de exemplo.
Aprenda na prática
Quer começar a trabalhar rapidamente e criar uma base de conhecimento sólida sobre o Apigee Edge? Temos uma biblioteca de exemplos de "learn-edge" no GitHub que permite implantar, invocar e rastrear rapidamente alguns proxies de amostra, começando pelo proxy mais simples e passando para proxies que ilustram a validação de chaves de API, cota, armazenamento em cache de respostas, tratamento de falhas e muito mais.
Depois de clonar o repositório e configurar seu ambiente (leva apenas alguns minutos), você pode testar cada amostra em menos de um minuto. Como cada amostra cria uma nova revisão do mesmo proxy, seu ambiente não fica cheio de amostras. Você pode alternar revisões, implantar outra revisão na interface de gerenciamento e consultar o código do proxy a qualquer momento. O arquivo readme de cada amostra também oferece uma breve descrição do que ela faz e como ela é configurada.
Faça um teste: https://github.com/apigee/api-platform-samples/tree/master/learn-edge
Exemplos de receitas de documentos
Um conjunto de amostras é fornecido para os tópicos do livro de receitas de proxy de API.
| Nome | Descrição | Tipos de política | Recursos |
|---|---|---|---|
| javascript-cookbook | Demonstra um snippet simples de JavaScript que adiciona cabeçalhos HTTP de variáveis, transforma um boletim meteorológico formatado em XML de JSON para XML e reduz o conteúdo para clientes móveis. | minimize.js setHeaders.js |
|
| javascript-mashup-cookbook | Um aplicativo JavaScript completo que chama APIs públicas, combina resultados e gera uma resposta enriquecida para o app cliente. Observação: esse proxy de API implementa a mesma funcionalidade do mashup de políticas, demonstrando que o mesmo problema pode ser resolvido usando técnicas diferentes. | JavaScript | MashItUp.js |
| java-hello | Chamada de Java simples de "Hello World". | JavaCallout | JavaHello.java |
| java-cookbook | Converte o conteúdo e os cabeçalhos da resposta em letras maiúsculas. | JavaCallout |
ResponseUppercase.java |
| java-properties | Demonstra como usar propriedades em uma chamada de Java. | JavaCallout | JavaProperties.java |
| java-error | Demonstra padrões de tratamento de erros que podem ser usados no código de chamada do Java. | JavaCallout | JavaError.java |
| policy-mashup-cookbook | Um aplicativo completo que usa a composição de políticas para chamar duas APIs públicas, combina resultados e gera uma resposta enriquecida para o app cliente. Observação: esse proxy de API implementa a mesma funcionalidade do javascript-mashup, demonstrando que o mesmo problema pode ser resolvido usando técnicas diferentes. | AssignMessage ServiceCallout ExtractVariables Javascript XMLToJSON |
GenerateResponse.js |
Exemplos de proxies de API
Os seguintes proxies de API estão localizados no GitHub, onde as páginas "Leia-me" fornecem descrições detalhadas dos exemplos. Se você quiser saber como uma política específica funciona em uma amostra, procure na coluna "Tipos de política" abaixo aquela que interessa e clique no nome da amostra na coluna "Nome". As políticas estão vinculadas às respectivas páginas de referência na documentação.
Referência e ferramentas
Além dos exemplos de receitas de documentação e proxies de amostra nas tabelas acima, os exemplos do GitHub do Edge também contêm estes recursos:
| Nome | Descrição | Tipos de política | Recursos |
|---|---|---|---|
| regex-protection | A política de proteção contra ameaças de expressões regulares pode proteger suas APIs de back-end e microsserviços contra ataques de injeção de SQL. | N/A | |
| oauth-validate-key-secret | Você está implementando o fluxo do tipo de permissão de acesso de senha do OAuth. É necessário validar a chave e o segredo do cliente do aplicativo no Edge antes de chamar um provedor de identidade externo para validar as credenciais do usuário. | OAuthV2, outros | N/A |
| condition-pattern-matching | Com ele, você pode testar e experimentar facilmente instruções condicionais em um fluxo de proxy de API. | AssignMessage | N/A |
| access-entity | Mostra como recuperar perfis de entidades do repositório de dados do Apigee Edge. | AssignMessage AccessEntity ExtractVariables |
nenhum |
| apikey | Implementa uma validação simples de chave de API. | VerifyAPIKey AssignMessage Quota |
nenhum |
| async-callout | Demonstra um callout assíncrono simples usando o httpClient do JavaScript. | JavaScript | assemble_response.js callout.js |
| base64encoder | Demonstra como chamar inclusões de JavaScript de recursos JavaScript em proxies de API. | AssignMessage Javascript |
core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| conditional-policy | Implementa uma aplicação de política condicional simples. Quando uma solicitação contém um cabeçalho HTTP responsetime:true, uma política executa um script Python que adiciona um conjunto de métricas de desempenho à mensagem de resposta como cabeçalhos HTTP. | Script (Python) | timer.py |
| dynamic-endpoint | Implementa um roteamento condicional simples em um cenário um pouco mais complexo, que define dois URLs e uma rota padrão. | nenhum | nenhum |
| jira-release-notes | Este é o proxy de API usado pela equipe de documentação da Apigee para gerar notas da versão do Jira. | JSONToXML XSL |
releasenotes_api.xsl |
| kerberos-credential-mediation | Este exemplo mostra como realizar a mediação de credenciais do Kerberos no Apigee Edge. | JavaCallout | Arquivo JAR do Java |
| oauth-advanced | Um exemplo completo e funcional do fluxo do tipo de permissão de acesso de código de autorização, com o Apigee Edge como o servidor de autorização. |
GenerateAccessToken Muitos outros... |
confira o exemplo de código |
| oauth-client-credentials | Demonstra um endpoint de token OAuth 2.0 totalmente funcional configurado para o tipo de concessão de credenciais do cliente. | GenerateAccessToken | nenhum |
| oauth-login-app | Obsoleto. Recomendamos que você consulte o exemplo oauth-advanced. | ||
| oauth-validate-key-secret | Ilustra uma técnica para validar a chave e o secret do cliente antes de chamar um provedor de identidade para validar as credenciais do usuário no fluxo do tipo de permissão de acesso de senha. | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
nenhum |
| oauth-verify-accesstoken | Demonstra um proxy de API configurado para validar tokens de acesso do OAuth 2.0 e verificar a cota. | VerifyAccessToken Quota |
nenhum |
| oauth10a-3legg | Demonstra uma configuração de três pernas do OAuth 1.0a. | GenerateAccessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
nenhum |
| outbound-oauth | Usa a API Microsoft Azure Translator para traduzir tweets. Para isso, ele faz uma chamada de saída para receber um token de acesso do OAuth e armazena em cache o token usando as políticas de cache dos Serviços de API, reutilizando o token armazenado em cache sempre que uma chamada de saída é feita. Também inclui um app de navegador de demonstração usado para invocar o proxy de API. | AssignMessage LookupCache PopulateCache Javascript |
api-config.js api-token-get.js translate-query.js translate-results.js |
| paginação | Pagina uma mensagem de resposta XML com base nos parâmetros de limite e de deslocamento fornecidos pelo cliente. | AssignMessage ExtractVariables ResponseCache VerifyApiKey XSL |
paginate.xslt |
| response-cache | Demonstra como armazenar em cache previsões do tempo no Edge por 10 minutos. | ResponseCache AssignMessage |
nenhum |
| simple-python | Demonstra um cenário simples de anexar um script Python à resposta que adiciona um valor de cabeçalho a ela. |
Script (Python) | setHeader.py |
| soap | Demonstra uma transformação XSL que reescreve um arquivo WSDL em resposta a uma solicitação com o parâmetro de consulta ?wsdl. | AssignMessage ExtractVariables Script (Python) XSL |
calculateaddress.py fixwsdl.xsl |
| streaming | Demonstra uma configuração de streaming HTTP. | nenhum | nenhum |
| target-reroute | Demonstra o uso de JavaScript para selecionar dinamicamente um URL de destino com base no conteúdo de uma mensagem de solicitação. | ExtractVariables Javascript |
rewriteTargetUrl.js |
| twitter-mobile-timeline | Mostra como usar JavaScript para remover parâmetros desnecessários de tweets, resultando em uma linha do tempo do Twitter simplificada e adequada para dispositivos móveis com recursos limitados. | AssignMessage Javascript |
MobileTimeline.js |
| twitter-oembed | Transforma respostas de linha do tempo (por exemplo, de statuses/user_timeline.json) em uma resposta oEmbed que contém os dados da linha do tempo como conteúdo HTML avançado. | AssignMessage JavaScript |
search-oembed.js |
| variáveis | Demonstra como extrair e definir variáveis com base no transporte e no conteúdo da mensagem JSON e XML. | AssignMessage ExtractVariables XMLToJSON |
minimize.js |
| xmltojson | Converte dados de resposta de XML para JSON. | XMLToJSON JSONToXML |
nenhum |
|
|
Arquivos de esquema XML que podem ser usados como referência ao configurar proxies de API, políticas, produtos de API e perfis de desenvolvedor e de app. |
||
|
|
Contém uma ferramenta de implantação, deploy.py, que importa um proxy de API para uma organização no Apigee Edge e o implanta no ambiente especificado. |
||
|
|
A ferramenta de snapshot da organização recupera as configurações da organização, incluindo desenvolvedores, produtos de API, hosts virtuais, mapas de chave-valor etc. Ela pode ser usada para fazer backup dos detalhes de uma organização ou para descobrir as configurações em uma organização. |
Apigee-127
Se você é programador, o Apigee-127 ajuda a criar e programar proxies de API com Node.js e Swagger. Você também pode encontrar exemplos do a127 no GitHub: https://github.com/apigee-127/a127-samples.
Conte sua experiência
Compartilhe suas experiências no Fórum de desenvolvedores do Apigee (em inglês).