Halaman ini menjelaskan cara menyiapkan lingkungan pengembangan untuk mem-build dan men-deploy API backend menggunakan Framework Cloud Endpoints untuk lingkungan standar App Engine. Halaman ini menggunakan contoh kode kerangka Endpoints Frameworks versi 2.0 untuk menjelaskan software dan komponen dasar yang Anda perlukan untuk memulai.
Sebaiknya gunakan
endpoints-skeleton-archetype
atau hello-endpoints-archetype
yang dijelaskan dalam
Menggunakan Apache Maven dan plugin App Engine (berbasis Google Cloud CLI)
untuk membuat project Endpoints Frameworks versi 2.0 baru.
Untuk mendapatkan pemahaman yang lebih baik tentang langkah-langkah yang diperlukan untuk men-deploy API contoh menggunakan Framework Endpoint, lihat tutorial Memulai Framework Endpoint di App Engine.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Catat project ID Google Cloud karena Anda akan memerlukannya nanti.
Menginstal dan mengonfigurasi software yang diperlukan
- Jika Anda belum menginstal Java 8, download Java Development Kit (JDK) dari situs Oracle, lalu instal.
- Instal Maven atau Gradle:
Maven
- Download Apache Maven versi 3.3.9 atau yang lebih baru
- Instal dan konfigurasi Maven untuk lingkungan pengembangan lokal Anda.
Gradle
- Download dan lakukan inisialisasi Google Cloud CLI.
- Jalankan perintah berikut:
- Pastikan gcloud CLI diberi otorisasi untuk mengakses data dan layanan Anda di Google Cloud:
gcloud auth login
- Menggunakan kredensial default aplikasi:
gcloud auth application-default login
- Instal komponen
app-engine-java
Google Cloud SDK:gcloud components install app-engine-java
- Update ke versi terbaru Google Cloud SDK dan semua komponen:
gcloud components update
- Pastikan gcloud CLI diberi otorisasi untuk mengakses data dan layanan Anda di Google Cloud:
- Buat aplikasi App Engine:
-
Tetapkan project default ke project ID Google Cloud Anda:
gcloud config set project YOUR_PROJECT_ID
Ganti
YOUR_PROJECT_ID
dengan project ID Google Cloud Anda. Jika Anda memiliki project Google Cloud lain, dan ingin menggunakangcloud
untuk mengelolanya, lihat Mengelola konfigurasi gcloud CLI. - Pilih region tempat Anda ingin membuat aplikasi App Engine. Lihat Lokasi App Engine untuk mengetahui daftar region.
- Buat aplikasi App Engine.
Ganti
YOUR_PROJECT_ID
dengan project ID Google Cloud Anda danYOUR_REGION
dengan region tempat Anda ingin membuat aplikasi App Engine.gcloud app create \ --project=YOUR_PROJECT_ID \ --region=YOUR_REGION
-
Tetapkan project default ke project ID Google Cloud Anda:
Mendapatkan contoh kerangka Endpoints Frameworks
Contoh kerangka Endpoints Frameworks versi 2.0 berisi skrip build yang diperlukan untuk Maven dan Gradle. File ini juga berisi file yang diperlukan untuk mulai membuat API pertama Anda.
Clone repositori contoh ke komputer lokal Anda:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
Ubah ke direktori yang berisi contoh kerangka Endpoints Framework:
cd java-docs-samples/appengine-java8/endpoints-v2-skeleton/
Contoh memiliki struktur direktori berikut:
MyApi.java
berisi class kosong yang dapat Anda gunakan untuk mulai menulis API. Lihat contoh echo untuk mengetahui contoh kode yang dapat membantu Anda memulai.web.xml
adalah file standar yang digunakan untuk mengonfigurasi servlet.appengine-web.xml
menentukan informasi yang diperlukan untuk men-deploy API ke lingkungan standar App Engine menggunakan Java 8.pom.xml
berisi informasi project dan konfigurasi yang digunakan oleh Maven untuk mem-build project dan men-deploy API ke App Engine.build.gradle
berisi informasi project dan konfigurasi yang digunakan oleh Gradle untuk mem-build project dan men-deploy API ke App Engine.
Mengonfigurasi file build
Bagian ini menjelaskan file Maven pom.xml
dan Gradle build.gradle
yang disertakan dalam kode contoh. Selain memasukkan ID project Google Cloud Anda agar dapat digunakan di nama host, file build siap untuk Anda gunakan untuk mulai membuat API.
Tentang konfigurasi minimum
Bagian ini menjelaskan konfigurasi minimum yang diperlukan dalam file build Anda.
Maven
Dependensi minimum
Berikut ini menunjukkan dependensi minimum yang diperlukan di
pom.xml
untuk memulai:
- Dependensi
endpoints-framework
berisi class yang diperlukan untuk membuat API Anda. - Anda memerlukan App Engine Standard API SDK (
appengine-api-sdk
) untuk men-deploy project ke lingkungan standar App Engine. - Paket
javax.servlet
standar diperlukan untuk mem-build servlet. - Paket
javax.inject
standar diperlukan untuk mendukung injeksi dependensi.
Menerapkan plugin
Plugin berikut diterapkan untuk mengaktifkannya:
maven-war-plugin
memperluas pluginjava
untuk menambahkan dukungan untuk menyusun aplikasi web.-
appengine-maven-plugin
diperlukan untuk menjalankan API di App Engine. -
endpoints-framework-maven-plugin
menyediakan tugas dan konfigurasi untuk mem-build project Endpoints Frameworks.
Gradle
Dependensi plugin
Berikut adalah plugin yang diperlukan untuk mem-build API Anda:
- Plugin Gradle Endpoints Frameworks digunakan untuk membuat dokumen OpenAPI dan membuat library klien.
- Anda memerlukan plugin Gradle App Engine untuk men-deploy project ke App Engine.
Menerapkan plugin
Plugin berikut diterapkan untuk mengaktifkannya dalam skrip build Gradle Anda:
- Plugin
java
menambahkan langkah-langkah kompilasi dan build khusus Java ke project Anda. - Plugin
war
memperluas pluginjava
untuk menambahkan dukungan untuk menyusun aplikasi web. - Plugin
endpoints-framework-server
menyediakan dukungan sisi server ke plugin Gradle Endpoints Frameworks. - Plugin
appengine
diperlukan untuk menjalankan API di App Engine.
Dependensi project
Dependensi berikut digunakan oleh project:
- Dependensi
endpoints-framework
berisi class yang diperlukan untuk membuat API Anda. - App Engine Standard API SDK (
appengine-api-sdk
) diperlukan untuk men-deploy project Anda ke lingkungan standar App Engine. - Paket
javax.servlet
standar diperlukan untuk mem-build servlet. - Paket
javax.inject
standar diperlukan untuk mendukung injeksi dependensi.
Menentukan nama host untuk layanan Anda
Framework Endpoint menggunakan nama yang kompatibel dengan DNS untuk mengidentifikasi layanan secara unik. Karena project ID Google Cloud dijamin unik secara global, Anda harus menggunakan project ID Google Cloud sebagai bagian dari nama layanan API.
Anda harus menambahkan project ID Google Cloud ke file build untuk mengonfigurasi nama host untuk layanan Anda. Nama host harus dalam format berikut:
YOUR_PROJECT_ID.appspot.com
Saat Anda men-deploy API ke App Engine, entri DNS dengan nama dalam format YOUR_PROJECT_ID.appspot.com
akan dibuat secara otomatis. Nama host adalah
nama layanan Cloud Endpoints dan nama domain yang Anda gunakan
untuk mengirim permintaan ke API.
Maven
Di kolom hostname
, ganti
YOUR_PROJECT_ID
dengan ID project Google Cloud
Anda.
Gradle
Tetapkan variabel projectID
ke project ID Google Cloud Anda. Contoh: def projectId = 'example-project-12345'
Mengonfigurasi servlet Endpoint
Servlet Endpoints menangani permintaan masuk dan meneruskannya ke layanan backend yang berjalan di App Engine. Servlet Endpoints diperlukan agar API Anda dapat dikelola oleh Endpoints.
Untuk informasi selengkapnya tentang web.xml
, lihat
Deployment descriptor: web.xml
.
Mengonfigurasi deployment App Engine
File appengine-web.xml
digunakan untuk menentukan konfigurasi lingkungan standar App Engine saat API di-deploy. Lihat
referensi appengine-web.xml
untuk mengetahui informasi selengkapnya.
Langkah selanjutnya
- Tulis dan anotasikan kode API backend Anda.
- Pelajari anotasi lebih lanjut.
- Tambahkan pengelolaan API.
- Men-deploy dan menguji API.
- Pelajari lebih lanjut parameter dan jenis nilai yang didukung.