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 sul suo funzionamento, consulta Java Runtime Environment.

Prima di iniziare

Se non lo hai ancora 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 installa Apache Maven per compilare, 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 file pom.xml. Per ulteriori informazioni, consulta Utilizzare le librerie Java.

Crea una classe principale

Il nucleo del servizio web è il server HTTP. Il codice campione in questa guida utilizza il framework Spring Boot per gestire le richieste HTTP, ma puoi utilizzare un framework web di 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 server Tomcat incorporato di Spring Boot 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. Nella finestra del terminale, 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 seguente directory:
    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 al file pom.xml del progetto 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

Ora che hai creato un semplice server web Java che ascolta la porta corretta e hai specificato il runtime in un file app.yaml, puoi eseguire il deployment del servizio su App Engine.