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:
- Installa la versione più recente del Java Development Kit (JDK) per la versione del runtime App Engine che prevedi di utilizzare.
- 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.
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:
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 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:
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. 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:
Crea un file denominato
app.yaml
nella directory seguente:
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 il riferimentoapp.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.