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:
- Installa la versione più recente del Java Development Kit (JDK) per la versione del runtime App Engine che prevedi di utilizzare.
- 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 avere 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.
Genera un progetto Spring Boot per Java che utilizzi il sistema di compilazione Maven e contenga la dipendenza Spring Web. Per iniziare, fai clic sul seguente link:
In Spring Initializer, fai clic sul pulsante Genera per generare e scaricare il progetto.
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:
Avvia un server web locale utilizzando il plug-in Maven di Spring Boot.
mvn spring-boot:run
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:
Crea un file denominato
app.yaml
nella seguente directory:
springboot/src/main/appengine/
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 la sezioneapp.yaml
di riferimento.
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.