Este guia mostra como escrever um serviço Web Java para ser executado no ambiente padrão do App Engine. Para saber mais sobre o tempo de execução Java e como funciona, consulte o artigo Java Runtime Environment.
Antes de começar
Se ainda não o fez:
- Instale a versão mais recente do Java Development Kit (JDK) para a versão do tempo de execução do App Engine que planeia usar.
- Transfira e instale o Apache Maven para criar, executar e implementar a app de exemplo.
Pontos-chave
- O App Engine inicia a sua aplicação carregando uma aplicação JAR executável.
- A sua aplicação tem de ter uma classe principal que inicie um servidor Web que responda a pedidos HTTP na porta especificada pela variável de ambiente PORT, normalmente 8080.
- Precisa de um ficheiro
app.yaml
para implementar o seu serviço no App Engine. - Pode usar dependências listando-as no ficheiro
pom.xml
. Para mais informações, consulte o artigo Usar bibliotecas Java.
Crie uma turma principal
O núcleo do seu serviço Web é o servidor HTTP. O código de exemplo neste guia usa a framework Spring Boot para processar pedidos HTTP, mas pode usar uma framework Web à sua escolha.
Gere um projeto Spring Boot para Java que use o sistema de compilação Maven e contenha a dependência Spring Web. Para começar, clique no seguinte link:
No Spring Initializer, clique no botão Gerar para gerar e transferir o seu projeto.
No projeto transferido, edite o ficheiro
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java
para adicionar algumas importações Java e um controlador REST hello:package com.example.appengine.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @GetMapping("/") public String hello() { return "Hello world!"; } }
A classe modificada é um controlador que inicia o servidor Tomcat incorporado do Spring Boot e responde a pedidos
GET
no caminho raiz ('/'
) com o texto "Olá mundo!"
Execute o servidor localmente
Para executar o servidor localmente:
Inicie um servidor Web local através do plug-in do Spring Boot Maven.
mvn spring-boot:run
No navegador de Internet, introduza o seguinte endereço:
http://localhost:8080
A mensagem Hello World da app de exemplo é apresentada na página. Na janela de terminal, prima Ctrl+C para sair do servidor Web.
Crie o ficheiro app.yaml
Para especificar definições para a sua app no ambiente de tempo de execução do App Engine:
Crie um ficheiro denominado
app.yaml
no seguinte diretório:
springboot/src/main/appengine/
Adicione os seguintes conteúdos ao ficheiro:
Java 21
runtime: java21
O ficheiro
app.yaml
também pode especificar definições de rede, definições de dimensionamento e muito mais. Para mais informações, consulte aapp.yaml
referência.
Se usou o link do Spring Initializr acima, deve ter uma estrutura de ficheiros semelhante à seguinte:
springboot/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
DemoApplication.java
Também pode adicionar no pom.xml do projeto o plug-in do Maven que permite a implementação da aplicação:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<projectId>YOUR_PROJECT_NAME</projectId>
<version>YOUR_VERSION</version>
<promote>false</promote>
</configuration>
</plugin>
Passos seguintes
Agora que criou um servidor Web Java simples que escuta a porta correta e especificou o tempo de execução num ficheiro app.yaml
, está a postos para implementar o seu serviço no App Engine.