O Cloud Endpoints Frameworks oferece recursos de gerenciamento de APIs que são comparáveis com os recursos que o Extensible Service Proxy (ESP) fornece para o Cloud Endpoints. Os frameworks do Endpoints incluem um gateway de API integrado que intercepta todas as solicitações e realiza as verificações necessárias, como autenticação, antes de encaminhar a solicitação ao back-end da API. Quando o back-end responde, o Endpoints Frameworks coleta e relata a telemetria. É possível visualizar métricas da API na página Endpoints > Serviços no Google Cloud console.
Os recursos de gerenciamento de APIs disponíveis no Endpoints Frameworks incluem os itens a seguir:
Para que sua API seja gerenciada pelo Cloud Endpoints, implante um documento do OpenAPI que descreva sua API usando a versão 2.0 da Especificação OpenAPI. Nesta página, você aprenderá como gerar e implantar um documento OpenAPI que ative o Endpoints para gerenciar sua API.
Se você não adicionar o gerenciamento da API, ela ainda vai atender a solicitações, mas não vai aparecer na página Endpoints > Serviços noGoogle Cloud console. Além disso, a funcionalidade fornecida pelo Endpoints, como geração de registros, monitoramento e definição de cotas, não estará disponível.
Para adicionar gerenciamento à sua API:
- Configure seu arquivo Maven - pom.xmlou seu arquivo Gradle- build.gradlecomo descrito em Como configurar os arquivos de versão.
- Certifique-se de definir o ID do projeto Google Cloud nos arquivos de build. - Maven- Pesquise - <endpoints.project.id>e substitua- YOUR_PROJECT_IDpelo ID do projeto Google Cloud . Exemplo:- <endpoints.project.id>example-project-12345</endpoints.project.id>- Gradle- 
        Pesquise def projectIde substituaYOUR_PROJECT_IDpelo ID do projeto Google Cloud . Exemplo:def projectId = 'example-project-12345'
- Verifique se o arquivo build.gradlecontém a tarefareplaceProjectId, que define o código do projeto nos arquivosappengine-web.xmleweb.xml.
 
- 
        Pesquise 
- No arquivo - web.xmldo projeto da API, adicione a configuração de filtro do servlet de gerenciamento de API:
- Modifique a configuração da compilação do projeto da API: - Maven- 
      Adicione as dependências de gerenciamento da API: 
- 
      Inclua o plug-in que você pode usar para gerar bibliotecas de clientes e o documento da OpenAPI, openapi.json:
 - Gradle- 
    Adicione as dependências de gerenciamento da API: 
- 
         Declare a dependência externa para que o plug-in seja recuperado do Maven Central: 
- 
       Use o plug-in Gradle do Endpoints Framework no lado do servidor, que gera o documento do OpenAPI: 
- 
      Configure o nome do serviço do Endpoints: 
 
- 
      
- Depois de modificar as dependências, limpe o projeto e crie a API: - Maven- mvn clean mvn package - Gradle- gradle clean gradle build 
- Gere o documento da OpenAPI, - openapi.json:- Maven- mvn endpoints-framework:openApiDocs- Gradle- gradle endpointsOpenApiDocs
- Implante o documento do OpenAPI: - gcloud endpoints services deploy openapi.json- A primeira vez que você implanta - openapi.json, um novo serviço do Endpoints é criado com o nome- YOUR_PROJECT_ID.appspot.com. Com a conclusão bem-sucedida, uma linha semelhante à seguinte exibe o código de configuração e o nome do serviço:- Service Configuration 2017-02-13r0 uploaded for service example-project-12345.appspot.com - No exemplo anterior, - 2017-02-13r0é o ID de configuração do serviço. Esse ID de configuração do serviço consiste em um registro de data e número de revisão. Se você implementar- openapi.jsonnovamente, o número de revisão será incrementado no ID de configuração do serviço.- Se for preciso exibir o ID de configuração do serviço novamente, execute o comando a seguir, substituindo - YOUR_PROJECT_IDpelo ID do projeto do Google Cloud :- gcloud endpoints configs list --service=YOUR_PROJECT_ID.appspot.com - É possível criar seu próprio documento OpenAPI e implantá-lo em vez de usar um gerado. Simplesmente substitua - openapi.json, visto acima, pelo caminho para seu documento da OpenAPI. Para mais informações sobre como escrever um documento do OpenAPI, consulte Visão geral do OpenAPI.
- Edite seu arquivo - appengine-web.xmlpara definir o valor de uma variável de ambiente:- Substitua - ${endpoints.project.id}pelo ID do seu projeto Google Cloud . Exemplo:- <env-var name="ENDPOINTS_SERVICE_NAME" value="example-project-12345.appspot.com" />
- Implante o aplicativo novamente. - Maven- mvn appengine:deploy - Gradle- gradle appengineDeploy 
- Faça algumas solicitações à API para testá-la. 
- Para ver as métricas da API, abra a página Endpoints > Serviços no Google Cloud console do projeto: