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 l'hai ancora fatto:

  1. Installa l'ultima versione di Java Development Kit (JDK) per la versione del runtime App Engine che prevedi di utilizzare.
  2. Scarica e installa Apache Maven per creare, eseguire e implementare l'app di esempio.

Punti chiave

  • App Engine avvia l'applicazione caricando un'applicazione JAR eseguibile.
  • La tua applicazione deve avere una classe principale che avvii un server web che risponda 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 saperne di più, consulta la sezione Utilizzare le librerie Java.

Creare una classe principale

Il cuore del tuo servizio web è il server HTTP. Il codice campione in questa guida utilizza il framework Spring Boot per gestire le richieste HTTP, ma puoi utilizzare il framework web che preferisci.

  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 alcuni import Java e un gestore 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!";
    }
    }
    

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

Creare 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 le impostazioni della rete, le impostazioni di scalabilità e altro ancora. Per saperne di più, consulta il riferimento app.yaml.

Se hai utilizzato il link Spring Initializr riportato sopra, ora dovresti avere una struttura di file simile alla 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.