Esta página descreve como configurar o ambiente de desenvolvimento para criar e implementar a API de back-end através dos frameworks do Cloud Endpoints para o ambiente padrão do App Engine. Esta página usa o esqueleto da versão 2.0 dos Frameworks de pontos finais do código de exemplo para explicar o software e os componentes básicos de que precisa para começar.
Pode usar o endpoints-skeleton-archetype
ou o hello-endpoints-archetype
descrito no artigo Usar o Apache Maven e o plug-in do App Engine (com base na CLI do Google Cloud) para criar um novo projeto do Endpoints Frameworks versão 2.0.
Para compreender melhor os passos necessários para implementar uma API de exemplo através dos Frameworks de Endpoints, consulte o tutorial Introdução aos Frameworks de Endpoints no App Engine.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Tome nota do Google Cloud ID do projeto, uma vez que é necessário mais tarde.
- Se não tiver o Java 8 instalado, transfira o Java Development Kit (JDK) a partir do site da Oracle e instale-o.
- Instale o Maven ou o Gradle:
Maven
- Transfira a versão 3.3.9 ou superior do Apache Maven
- Instale e configure o Maven para o seu ambiente de desenvolvimento local.
Gradle
- Transfira e inicialize a CLI Google Cloud.
- Execute os seguintes comandos:
- Certifique-se de que a CLI gcloud está autorizada a aceder aos seus dados e serviços em Google Cloud:
gcloud auth login
- Usar credenciais padrão da aplicação:
gcloud auth application-default login
- Instale o componente
app-engine-java
do SDK Google Cloud:gcloud components install app-engine-java
- Atualize para a versão mais recente do SDK do Google Cloud e de todos os componentes:
gcloud components update
- Certifique-se de que a CLI gcloud está autorizada a aceder aos seus dados e serviços em Google Cloud:
- Crie uma aplicação do App Engine:
-
Defina o projeto predefinido para o seu Google Cloud ID do projeto:
gcloud config set project YOUR_PROJECT_ID
Substitua
YOUR_PROJECT_ID
pelo seu Google Cloud ID do projeto. Se tiver outros Google Cloud projetos e quiser usargcloud
para os gerir, consulte Gerir configurações da CLI gcloud. - Selecione a região onde quer criar a sua aplicação do App Engine. Consulte as localizações do App Engine para ver uma lista de regiões.
- Crie uma aplicação do App Engine.
Substitua
YOUR_PROJECT_ID
pelo ID do seu Google Cloud projeto eYOUR_REGION
pela região na qual quer que a aplicação do App Engine seja criada.gcloud app create \ --project=YOUR_PROJECT_ID \ --region=YOUR_REGION
-
Defina o projeto predefinido para o seu Google Cloud ID do projeto:
Clone o repositório de exemplo para a sua máquina local:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
Altere para o diretório que contém o exemplo de estrutura do Endpoints Frameworks:
cd java-docs-samples/appengine-java8/endpoints-v2-skeleton/
O exemplo tem a seguinte estrutura de diretórios:
MyApi.java
contém uma classe vazia que pode usar para começar a escrever a sua API. Consulte o exemplo de eco para ver um exemplo de código que lhe permite começar.web.xml
é um ficheiro padrão usado para configurar um servlet.appengine-web.xml
define informações necessárias para implementar a API no ambiente padrão do App Engine através do Java 8.pom.xml
contém informações do projeto e de configuração usadas pelo Maven para criar o projeto e implementar a API no App Engine.build.gradle
contém informações do projeto e de configuração usadas pelo Gradle para criar o projeto e implementar a API no App Engine.
- A dependência
endpoints-framework
contém as classes necessárias para criar a sua API. - Precisa do SDK da API
App Engine Standard (
appengine-api-sdk
) para implementar o seu projeto no ambiente padrão do App Engine. - O pacote
javax.servlet
padrão é necessário para criar um servlet. - O pacote
javax.inject
padrão é necessário para suportar a injeção de dependências. - O
maven-war-plugin
estende o plug-injava
para adicionar suporte para a montagem de uma aplicação Web. - O
appengine-maven-plugin
é necessário para executar a API no App Engine. - O
endpoints-framework-maven-plugin
fornece tarefas e configurações para criar projetos de frameworks de pontos finais. - O plug-in do Gradle dos frameworks de pontos finais é usado para gerar um documento OpenAPI e para gerar bibliotecas de cliente.
- Precisa do App Engine Gradle plugin para implementar o seu projeto no App Engine.
- O plug-in
java
adiciona passos de compilação e criação específicos do Java ao seu projeto. - O plug-in
war
estende o plug-injava
para adicionar suporte para a montagem de uma aplicação Web. - O plug-in
endpoints-framework-server
oferece suporte do lado do servidor ao plug-in Gradle dos Frameworks dos Endpoints. - O plugin
appengine
é necessário para executar a API no App Engine. - A dependência
endpoints-framework
contém as classes necessárias para criar a sua API. - O SDK da API
App Engine Standard (
appengine-api-sdk
) é necessário para implementar o seu projeto no ambiente padrão do App Engine. - O pacote
javax.servlet
padrão é necessário para criar um servlet. - O pacote
javax.inject
padrão é necessário para suportar a injeção de dependências. - Escreva e anote o código da API de back-end.
- Saiba mais acerca das anotações.
- Adicione a gestão de APIs.
- Implemente e teste a sua API.
- Saiba mais sobre os tipos de parâmetros e de retorno suportados.
Instalar e configurar o software necessário
Obter o exemplo de estrutura do Endpoints Frameworks
O exemplo de estrutura do Frameworks de Endpoints versão 2.0 contém os scripts de compilação necessários para o Maven e o Gradle. Também contém os ficheiros necessários para começar a criar a sua primeira API.
Configurar os ficheiros de compilação
Esta secção descreve os ficheiros Maven pom.xml
e Gradle build.gradle
incluídos no código de exemplo. Exceto para introduzir o seu ID do projeto, para que possa ser usado no nome do anfitrião, os ficheiros de compilação estão prontos para começar a criar a sua API. Google Cloud
Acerca da configuração mínima
Esta secção descreve a configuração mínima necessária no ficheiro de compilação.
Maven
Dependências mínimas
A imagem seguinte mostra as dependências mínimas necessárias no seu
pom.xml
para começar:
Aplique plug-ins
Os seguintes plug-ins são aplicados para os ativar:
Gradle
Dependências de plug-ins
A imagem seguinte mostra os plug-ins necessários para criar a sua API:
Aplique plug-ins
Os seguintes plug-ins são aplicados para os ativar no script de compilação do Gradle:
Dependências do projeto
O projeto usa as seguintes dependências:
Definir o nome do anfitrião para o seu serviço
O Endpoints Frameworks usa nomes compatíveis com DNS para identificar serviços de forma exclusiva. Uma vez que os Google Cloud IDs dos projetos são garantidamente únicos a nível global, deve usar o Google Cloud ID do projeto como parte do nome do serviço da API.
Tem de adicionar o seu Google Cloud ID do projeto aos ficheiros de compilação para configurar o nome de anfitrião do seu serviço. O nome do anfitrião deve estar no seguinte formato:
YOUR_PROJECT_ID.appspot.com
Quando implementa a API no App Engine, é criada automaticamente uma entrada de DNS com um nome no formato YOUR_PROJECT_ID.appspot.com
. O nome do anfitrião é o nome do serviço Cloud Endpoints e o nome do domínio que usa para enviar pedidos à sua API.
Maven
No campo hostname
, substitua
YOUR_PROJECT_ID
pelo ID do seu Google Cloud projeto.
Gradle
Defina a variável projectID
para o ID do seu Google Cloud
projeto. Por exemplo:
def projectId = 'example-project-12345'
Configurar o servlet Endpoints
O servlet Endpoints processa os pedidos recebidos e encaminha-os para o serviço de back-end em execução no App Engine. O servlet do Endpoints é necessário para que a sua API seja gerida pelo Endpoints.
Para mais informações sobre o web.xml
, consulte
O descritor de implementação: web.xml
.
Configurar a implementação do App Engine
O ficheiro appengine-web.xml
é usado para definir a configuração do ambiente padrão do App Engine quando a API é implementada. Consulte a
appengine-web.xml
referência
para mais informações.