Scrittura del servizio web

Questa guida mostra come scrivere un servizio web Java da eseguire nell'ambiente standard di App Engine. Per scoprire di più sul runtime Java e su come vedi Java Runtime Environment.

Prima di iniziare

Se non lo hai già fatto:

  1. Installa la versione più recente del Java Development Kit (JDK) per la versione del runtime App Engine che prevedi di utilizzare.
  2. Scarica e installare Apache Maven per creare, eseguire ed eseguire il deployment dell'app di esempio.

Punti chiave

  • App Engine avvia l'applicazione caricando un'applicazione JAR executable.
  • L'applicazione deve avere una classe principale che avvii un server web che risponde alle richieste HTTP sulla porta specificata dalla variabile di ambiente PORT, in genere 8080.
  • Per eseguire il deployment del servizio in App Engine, devi disporre di un file app.yaml.
  • Puoi utilizzare le dipendenze elencandole nel tuo pom.xml . Per ulteriori informazioni, consulta Utilizzare le librerie Java.

Crea una classe principale

Il cuore del tuo servizio web è il server HTTP. Il codice campione in questa guida utilizza Spring Boot per gestire le richieste HTTP, ma potete usare liberamente un framework web la tua scelta.

  1. Genera un progetto Spring Boot per Java che utilizza il sistema di compilazione Maven e contiene la dipendenza Spring Web. Per iniziare, fai clic sul seguente link:

    Vai a Spring Initializr

  2. In Spring Initializer, fai clic sul pulsante Genera per generare e scaricare il progetto.

  3. Nel progetto scaricato, modifica il file springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java per aggiungere alcune importazioni Java e un gestore di saluti REST:

    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!";
    }
    }
    

    La classe modificata è un controller che avvia il file Tomcat incorporato di Spring Boot server e risponde alle richieste GET nel percorso principale ('/') con il testo "Hello world!"

Esegui il server localmente

Per eseguire il server localmente:

  1. Avvia un server web locale utilizzando il plug-in Maven di Spring Boot.

    mvn spring-boot:run
    
  2. Nel browser web, inserisci il seguente indirizzo:
    http://localhost:8080

Nella pagina viene visualizzato il messaggio Hello World dell'app di esempio. Nel tuo premi Ctrl+C per uscire dal server web.

Crea il file app.yaml

Per specificare le impostazioni per la tua app nell'ambiente di runtime di App Engine:

  1. Crea un file denominato app.yaml nella directory seguente:
    springboot/src/main/appengine/

  2. Aggiungi i seguenti contenuti al file:

    Java 21

    runtime: java21
    

    Il file app.yaml può anche specificare impostazioni di rete, impostazioni di scalabilità e altro ancora. Per ulteriori informazioni, consulta il riferimento app.yaml.

Se hai utilizzato il link a Spring Initializr riportato sopra, ora dovresti avere una struttura di file come la seguente:

  • springboot/
    • pom.xml
    • src/main/
      • appengine/
        • app.yaml
      • java/com/example/appengine/springboot/
        • DemoApplication.java

Puoi anche aggiungere nel progetto pom.xml il plug-in Maven che consente il deployment dell'applicazione:

            <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>

Passaggi successivi

Una volta creato un semplice server web Java che rileva l'output corretto e che hai specificato il runtime in un file app.yaml, puoi eseguire il deployment del servizio su App Engine.