Escreva o seu serviço Web

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:

  1. 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.
  2. 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.

  1. 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:

    Aceder ao Spring Initializr

  2. No Spring Initializer, clique no botão Gerar para gerar e transferir o seu projeto.

  3. 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:

  1. Inicie um servidor Web local através do plug-in do Spring Boot Maven.

    mvn spring-boot:run
    
  2. 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:

  1. Crie um ficheiro denominado app.yaml no seguinte diretório:
    springboot/src/main/appengine/

  2. 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 a app.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.