Desenvolvimento de proxies de API

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

Você expõe APIs no Apigee implementando proxies das APIs. Os proxies das APIs dissociam os serviços de back-end da API do app, protegendo esses apps das mudanças de códigos do back-end.

Desenvolva seus proxies de API usando a Apigee no Cloud Code, conforme descrito nas seções a seguir. Consulte também Como gerenciar pastas e arquivos em um espaço de trabalho da Apigee.

Como criar um proxy de API

Para criar um proxy de API usando a Apigee em {code_name}}:

  1. Realize uma das seguintes ações:

    • No Apigee Explorer, posicione o cursor sobre a pasta apiproxies e clique em Ícone de criação.

      + é exibido quando você posiciona o cursor sobre a pasta apiproxies

    • Selecione View > Command Palette para abrir a paleta de comandos e selecione Cloud Code: Create Apigee proxy bundle.

    O assistente "Criar proxy" é aberto.

  2. Selecione uma das seguintes opções:

    Tipo Descrição
    Reverse proxy

    Um proxy de API que encaminha solicitações de entrada para os serviços de back-end HTTP. Pode ser uma API JSON ou XML. Consulte Como criar um proxy reverso para um serviço HTTP mais adiante nesta seção.

    No target

    Um proxy de API sem back-end de API ("sem destino"). Semelhante à criação de Como criar um proxy reverso para um serviço HTTP, mas você não especificar um URL de destino existente ao definir os detalhes do proxy da API.

As seções a seguir descrevem as etapas adicionais necessárias para criar cada tipo de proxy da API.

Como criar um proxy reverso para um serviço HTTP

A Apigee gera proxies reversos com base nestas informações:

  • URL do serviço de back-end
  • Caminho de URI que identifica exclusivamente a API que será exposta pelo proxy a apps para o consumidor

Quando você seleciona o Proxy reverso ao criar um proxy de API, é solicitado que a Autenticação de segurança e os Detalhes do proxy da API descritos nas tabelas a seguir.

Em Autenticação de segurança, selecione uma das seguintes opções:

Autenticação de segurança Descrição
API key based authentication

Adiciona uma verificação de chave de API simples ao proxy que você está definindo. A Apigee adiciona automaticamente as seguintes políticas ao seu proxy de API:

  • VerifyAPIKey para validar chaves de API apresentadas por meio da solicitação de aplicativos.
  • AssignMessage para remover a chave de API, fornecida na chamada de API como um parâmetro de consulta, da solicitação encaminhada ao servidor de back-end.
Access token based authentication

Adiciona a autenticação baseada em OAuth 2.0 ao proxy de API. A Apigee adiciona automaticamente as seguintes políticas ao seu proxy de API:

  • VerifyAPIKey para verificar o token de acesso.
  • AssignMessage remove o cabeçalho Authorization transmitido para autenticação.
Para saber como autenticar usando tokens de acesso, consulte Como verificar tokens de acesso.
No authentication Não é necessária autenticação. As solicitações são transmitidas para o back-end sem nenhuma verificação de segurança na Apigee.

Em Detalhes do proxy da API, responda a cada um dos prompts a seguir e pressione Enter para confirmar e continuar ou Esc para cancelar o assistente:

Campo Descrição
Backend target URL URL do serviço de back-end que este proxy de API invoca.
API proxy name Nome exibido para a API. Especifique caracteres alfanuméricos, traço (-) ou sublinhado (_).
API proxy base path Fragmento de URI que aparece após o endereço http://[host] ou https://[host] do proxy de API. A Apigee usa o URI do caminho base para corresponder e encaminhar as mensagens de solicitação recebidas para o proxy da API adequado.

Usar caracteres curinga em caminhos de base

Use um ou mais caracteres curinga /*/ nos caminhos de base do proxy de API para preparar seus proxies para o futuro. Por exemplo, um caminho base de /team/*/members permite que os clientes chamem https://[host]/team/blue/members e https://[host]/team/green/members sem que você precise criar novos proxies de API para dar suporte a novas equipes. Observe que /**/ não é compatível.

Depois de concluir as etapas no assistente, a nova pasta apiproxy-name será adicionada em apiproxies no Apigee Explorer. Cada pasta de proxy da API é estruturada conforme descrito em Estrutura do diretório de configuração de proxy da API.

Veja a seguir um exemplo da configuração padrão criada para um proxy de API reverso chamado helloworld com políticas adicionadas para oferecer suporte à autenticação baseada em chave de API.

Mostra a estrutura de pastas de um proxy reverso na seção Apigee.

Para uma descrição da configuração padrão, consulte Como explorar a configuração do proxy da API padrão.

Como criar um proxy de API sem destino de back-end

O processo de criação de um proxy de API sem destino de back-end é o mesmo que criar um proxy reverso, exceto que você não é solicitado a especificar um URL para o serviço de back-end (Target (Existing API)). A configuração de endpoint de destino padrão não está incluída. Para mais informações, consulte Como criar um proxy reverso para um serviço HTTP.

Como explorar a configuração padrão de proxy da API

A tabela a seguir resume o conteúdo incluído na configuração padrão quando você cria um proxy de API com base no tipo de proxy da API e nas opções de autenticação selecionadas.

Proxy de configuração do arquivo de configuração
Proxy reverso
Nenhum destino
Autenticação OAuthV2
Autenticação de chave de API
proxies/default.xml
Configuração padrão do endpoint do proxy.
   
targets/default.xml
Configuração padrão do endpoint de destino.
     
impose-quota.xml
Política de cotas para definir uma cota padrão.
   
remove-header-authorization.xml
Política "AstMessage" para remover o cabeçalho Authorization que é transmitido para autenticação.
    >
 
remove-query-param-apikey.xml
Política AsignMessage para remover o parâmetro de consulta apikey transmitido para autenticação.
     
verify-api-key.xml
Política VerifyAPIKey para aplicar a verificação de chaves de API.
     
verify-oauth-v2-access-token.xml
OAuthV2 para validar os tokens de acesso do OAuth V2.
   
 

Como fazer upload de um pacote de proxy de API

Para fazer upload de um pacote de proxy de API para a Apigee no Cloud Code:

  1. Realize uma das seguintes ações:

    • No Apigee Explorer, posicione o cursor sobre a pasta apiproxies e clique em Ícone de upload.

    • Selecione View > Command Palette para abrir a paleta de comandos e selecione Cloud Code: Import Apigee proxy bundle.

  2. Acesse o pacote de proxy da API que você quer enviar e clique em Importar proxy. O pacote de proxy da API precisa ser estruturado conforme descrito em Estrutura de diretórios de configuração do proxy de API.

  3. (Opcional) Por padrão, o nome do arquivo ZIP menos sua extensão é usado para o nome do proxy da API. Se o nome não for exclusivo, você deverá digitar um nome exclusivo.

A pasta apiproxy-name enviada é adicionada em apiproxies no Apigee Explorer.

Como gerenciar endpoints de proxy

Conforme descrito em O que é um proxy de API?, um endpoint de proxy (ProxyEndpoint) define a maneira como os aplicativos clientes consomem suas APIs. Configure o ProxyEndpoint para definir o URL do proxy de sua API. O endpoint do proxy também determina se os aplicativos acessam o proxy de API por HTTP ou HTTPS. É possível anexar políticas ao endpoint de proxy para aplicar segurança, verificações de cota e outros tipos de controle de acesso e limitação de taxa.

Crie e configure endpoints de proxy conforme descrito nas seções a seguir.

Como criar endpoints de proxy

Quando você cria um proxy de API, um endpoint de proxy padrão é adicionado à configuração de proxy da API. Para mais informações, consulte Como explorar a configuração de proxy da API padrão. É possível criar outros endpoints de proxy, conforme necessário.

Para criar um endpoint de proxy usando o Apigee no Cloud Code:

  1. Na seção do Apigee, execute uma das seguintes ações:

    • No Apigee Explorer, posicione o cursor sobre uma das seguintes pastas, clique em Ícone de criação e selecione Criar endpoint do proxy:
      • Pacote de proxy apiproxy-name
      • apiproxy-name/apiproxy
    • No Apigee Explorer, posicione o cursor sobre a pasta apiproxy-name/apiproxy/proxies e clique em Ícone de criação.

    O assistente "Criar endpoint do proxy" é aberto.

  2. Insira os valores para o próximo conjunto de prompts. Pressione Enter depois de confirmar para prosseguir ou Esc para cancelar.

    Campo Descrição
    Proxy endpoint name Nome usado para identificar o endpoint do proxy.
    API proxy base path Parte do URL usado para fazer solicitações à sua API. O Edge usa o URL para corresponder e rotear solicitações de entrada para o proxy da API apropriado.

O endpoint é criado e adicionado à pasta apiproxy-name/apiproxy/proxies no Apigee Explorer e aberto no editor. Configure o endpoint do proxy, conforme descrito na seção a seguir.

Como configurar endpoints de proxy

Para configurar endpoints de proxy, consulte as seções a seguir:

Como gerenciar endpoints de destino

Conforme descrito em O que é um proxy de API?, um endpoint de destino (TargetEndpoint) define a maneira como o proxy de API interage com seus serviços de back-end. Você configura o TargetEndpoint para encaminhar solicitações para o serviço de back-end apropriado, incluindo a definição de todas as configurações de segurança, o protocolo HTTP ou HTTPS e outras informações de conexão. Você pode anexar políticas ao TargetEndpoint para garantir que as mensagens de resposta sejam formatadas corretamente para o aplicativo que fez a solicitação inicial.

Crie e configure endpoints de destino conforme descrito nesta seção.

Como criar endpoints de destino

Quando você cria um proxy de API reverso, um endpoint de destino padrão é adicionado à configuração de proxy da API. Ao criar um proxy de API sem destino de back-end, somente o endpoint de proxy padrão é adicionado à configuração de proxy da API. Para mais informações, consulte Como explorar a configuração de proxy da API padrão.

Crie endpoints de destino, conforme necessário.

Para criar um endpoint de destino usando a Apigee no Cloud Code:

  1. Na seção do Apigee, execute uma das seguintes ações:

    • Na seção do Apigee, posicione o cursor sobre uma das seguintes pastas, clique em Ícone de criação e selecione Criar endpoint de destino:
      • Pacote de proxy apiproxy-name
      • apiproxy-name/apiproxy
    • Na seção do Apigee, posicione o cursor sobre a pasta apiproxy-name/apiproxy/targets e clique em Ícone de criação.

    O assistente "Criar endpoint de destino" é aberto.

  2. Execute as etapas a seguir com base no tipo de endpoint de destino que você quer criar:

    Tipo Etapas
    Destino HTTP(s) externo

    Para definir um destino HTTP(s) externo:

    1. Selecione Destino HTTP(s).
    2. Digite o nome do endpoint de destino em Nome do endpoint de destino.
    3. Digite o URL do serviço de back-end que este endpoint de destino invoca em URL de destino do back-end.

    Para mais informações, consulte Como determinar o URL do endpoint de destino.

    Cadeia de proxies

    Para definir um proxy de API implantado localmente como seu destino:

    1. Selecione Cadeia de proxy.
    2. Digite o nome do endpoint de destino em Nome do endpoint de destino.
    3. Selecione um proxy de API.
    4. Selecione o endpoint do proxy.

    Para mais informações, consulte Como clonar proxies de API juntos.

    Meta de balanceamento de carga

    Para definir uma meta de balanceamento de carga usando servidores de destino definidos no ambiente:

    1. Selecione Meta com carga balanceada.
    2. Digite o nome do endpoint de destino em Nome do endpoint de destino.

    Para mais informações, consulte Como configurar um TargetEndpoint para balancear a carga em TargetServers nomeados.

O endpoint de destino é criado e adicionado à pasta apiproxy-name/apiproxy/targets na seção do Apigee e aberto no editor. Configure o endpoint de destino, conforme descrito na seção a seguir.

Como configurar endpoints de destino

Configure os endpoints de destino, conforme descrito nos tópicos a seguir.