Menulis layanan web Anda

Panduan ini menunjukkan cara menulis layanan web Java untuk dijalankan di lingkungan standar App Engine. Untuk mempelajari runtime Java dan cara kerjanya lebih lanjut, lihat Lingkungan Runtime Java.

Sebelum memulai

Jika belum:

  1. Instal Java Development Kit (JDK) versi terbaru untuk versi runtime App Engine yang ingin Anda gunakan.
  2. Download dan instal Apache Maven untuk mem-build, menjalankan, dan men-deploy aplikasi contoh.

Poin utama

  • App Engine memulai aplikasi Anda dengan mengupload aplikasi JAR yang dapat dieksekusi.
  • Aplikasi Anda harus memiliki class utama yang memulai server web yang merespons permintaan HTTP pada port yang ditentukan oleh variabel lingkungan PORT, biasanya 8080.
  • Anda memerlukan file app.yaml untuk men-deploy layanan ke App Engine.
  • Anda dapat menggunakan dependensi dengan mencantumkannya di file pom.xml. Untuk informasi selengkapnya, lihat Menggunakan library Java.

Membuat class utama

Inti layanan web Anda adalah server HTTP. Kode contoh dalam panduan ini menggunakan framework Spring Boot untuk menangani permintaan HTTP, tetapi Anda bebas menggunakan framework web pilihan Anda.

  1. Buat project Spring Boot untuk Java yang menggunakan sistem build Maven dan berisi dependensi Spring Web. Untuk memulai, klik link berikut:

    Buka Spring Initializr

  2. Di Spring Initializer, klik tombol Generate untuk membuat dan mendownload project Anda.

  3. Dalam project yang didownload, edit file springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java untuk menambahkan beberapa impor java dan pengendali hello 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!";
    }
    }
    

    Class yang dimodifikasi adalah pengontrol yang memulai server Tomcat tersemat Spring Boot dan merespons permintaan GET di jalur root ('/') dengan teks "Hello world!"

Menjalankan server secara lokal

Untuk menjalankan server secara lokal:

  1. Mulai server web lokal menggunakan plugin Spring Boot Maven.

    mvn spring-boot:run
    
  2. Di browser web Anda, masukkan alamat berikut:
    http://localhost:8080

Pesan Hello World dari aplikasi contoh akan ditampilkan di halaman. Di jendela terminal, tekan Ctrl+C untuk keluar dari server web.

Membuat file app.yaml

Untuk menentukan setelan aplikasi Anda di lingkungan runtime App Engine:

  1. Buat file bernama app.yaml di direktori berikut:
    springboot/src/main/appengine/

  2. Tambahkan konten berikut ke file:

    Java 21

    runtime: java21
    

    File app.yaml juga dapat menentukan setelan jaringan, setelan penskalaan, dan lainnya. Untuk informasi selengkapnya, lihat referensi app.yaml.

Jika menggunakan link Spring Initializr di atas, Anda sekarang seharusnya memiliki struktur file seperti berikut:

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

Anda juga dapat menambahkan plugin Maven yang memungkinkan deployment aplikasi di pom.xml project:

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

Langkah berikutnya

Setelah membuat server web Java sederhana yang memproses port yang benar dan menentukan runtime dalam file app.yaml, Anda siap untuk men-deploy layanan Anda di App Engine.