Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
As amostras 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 as amostras, consulte Como usar os proxies de API de amostra.
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 "learn-edge" no GitHub que permite implantar, invocar e rastrear rapidamente alguns proxies de exemplo, começando pelo proxy mais simples e passando para proxies que ilustram a validação de chave de API, cota, armazenamento em cache de resposta, 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. É possível alternar revisões, reimplantar uma revisão diferente na interface de gerenciamento e consultar o código do proxy a qualquer momento. O readme de cada amostra também oferece um breve resumo do que ela faz e como ela é configurada.
Teste agora mesmo! https://github.com/apigee/api-platform-samples/tree/master/learn-edge
Exemplos de manual de documentação
Um conjunto de amostras é fornecido para os tópicos do manual 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 policy-mashup, demonstrando que o mesmo problema pode ser resolvido usando técnicas diferentes. | JavaScript | MashItUp.js |
| java-hello | Chamada Java simples do 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 frase de destaque do Java. | JavaCallout | JavaError.java |
| policy-mashup-cookbook | Um aplicativo completo que usa a composição de política 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 "readme" 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 em que você tem interesse 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 de tipo de concessão de senha do OAuth. É necessário validar a chave e o secret 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, é fácil testar instruções condicionais em um fluxo de proxy de API. | AssignMessage | N/A |
| access-entity | Mostra como recuperar perfis de entidades do armazenamento 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 uma callout assíncrona simples usando o httpClient 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 a aplicação simples de política condicional. 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 | Esse é 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 de concessão de código de autorização, com o Apigee Edge como o servidor de autorização. |
GenerateAccessToken Muitos outros... |
confira o código de exemplo |
| 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 concessão 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. | GenerateAceessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
nenhum |
| outbound-oauth | Usa a API de tradução do Microsoft Azure para traduzir tweets. Para isso, ele faz uma chamada de saída para conseguir um token de acesso OAuth e, em seguida, armazena em cache o token usando as políticas de armazenamento em cache dos Serviços da API, reutilizando o token em cache sempre que uma chamada for feita. Além disso, inclui um app de navegação 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 de mensagens 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 da Apigee.