Cloud Endpoints mendukung API yang dijelaskan menggunakan spesifikasi OpenAPI versi 2.0. Anda mendeskripsikan platform API dan mengonfigurasi fitur Endpoints seperti aturan autentikasi atau kuota dalam dokumen OpenAPI.
Endpoints menggunakan kolom wajib berikut secara khusus dalam dokumen OpenAPI Anda:
hostinfo.titleinfo.versionoperationId
Halaman ini memberikan informasi tentang cara Endpoints menggunakan kolom sebelumnya. Dengan informasi ini, Anda dapat menyelesaikan penyiapan dokumen OpenAPI untuk deployment.
Prasyarat
Sebagai titik awal, halaman ini mengasumsikan bahwa Anda telah:
- Google Cloud Project.
- Pengetahuan dasar tentang OpenAPI.
- Dokumen OpenAPI dalam format yang dijelaskan dalam dokumentasi Struktur dasar Swagger.
host
Cloud Endpoints menggunakan nama yang Anda konfigurasi di kolom host dokumen OpenAPI sebagai nama layanan Anda.
Nama layanan API Anda harus unik di Google Cloud. Karena Endpoints menggunakan nama yang kompatibel dengan DNS untuk mengidentifikasi layanan, sebaiknya Anda menggunakan nama domain atau nama subdomain API Anda sebagai nama layanan. Dengan pendekatan ini, nama layanan yang muncul di halaman Endpoints Services cocok dengan nama yang digunakan dalam permintaan ke API Anda. Endpoints memiliki persyaratan berikut untuk nama layanan:
- The maximum length of the domain name is 253 characters.
- The domain name must start with a lowercase letter.
-
Each section in the domain name, which is delimited by dots, has the following
requirements:
- Must start with a lowercase letter.
- Must not end with a dash.
- The remaining characters can be lowercase letters, numbers, or dashes.
- The maximum length is 63 characters.
Anda dapat mendaftarkan domain kustom Anda sendiri (seperti example.com), atau
Anda dapat menggunakan domain yang dikelola oleh Google.
Menggunakan domain yang dikelola oleh Google
Google memiliki dan mengelola domaincloud.goog dan appspot.com.
Jika ingin menggunakan domain yang dikelola oleh Google, Anda harus menggunakan
Google Cloud project ID sebagai bagian dari nama layanan. Karena
project memiliki ID project yang unik secara global, persyaratan ini memastikan bahwa Anda memiliki nama layanan yang unik.Google Cloud
Nama domain yang Anda gunakan bergantung pada backend yang menghosting API Anda:
Untuk API yang dihosting di lingkungan fleksibel App Engine, Anda harus menggunakan domain
appspot.com, dan nama layanan harus dalam format berikut, denganYOUR_PROJECT_IDadalah ID project Google Cloud Anda:YOUR_PROJECT_ID.appspot.com
Saat Anda men-deploy API ke App Engine, entri DNS dengan nama dalam format
YOUR_PROJECT_ID.appspot.comakan dibuat secara otomatis.Untuk API yang dihosting di Compute Engine, Google Kubernetes Engine, atau Kubernetes, Anda harus menggunakan domain
cloud.goog, dan nama layanan harus dalam format berikut, denganYOUR_API_NAMEadalah nama API Anda:YOUR_API_NAME.endpoints.YOUR_PROJECT_ID.cloud.goog
Untuk menggunakan domain ini sebagai nama domain API, baca Mengonfigurasi DNS di domain
cloud.goog.
Menggunakan domain kustom
Jika tidak ingin menggunakan domain yang dikelola oleh Google, Anda dapat menggunakan domain kustom (misalnya, myapi.mycompany.com) yang Anda izinkan untuk digunakan.
Sebelum men-deploy konfigurasi API, ikuti langkah-langkah di bagian
Verifikasi kepemilikan domain.
info.title
Kolom info.title adalah nama API yang mudah digunakan. Halaman
Endpoints > Services di konsol Google Cloud menampilkan
teks yang Anda konfigurasi di kolom info.title. Jika Anda memiliki lebih dari
satu API per Google Cloud project, nama API akan ditampilkan dalam daftar saat Anda
pertama kali membuka halaman. Anda dapat mengklik nama API untuk membuka halaman lain yang menampilkan metrik, histori deployment, dan informasi lainnya dari API tersebut.
info.version
Halaman Endpoints > Services di konsol Google Cloud menampilkan nomor versi untuk API Anda. Sebelum men-deploy konfigurasi API untuk pertama kalinya:
Tetapkan nomor versi di kolom
info.versionke versi API yang berlaku,misalnya,1.0.Tetapkan kolom
basePathke nomor versi utama, misalnya,/v1.
Untuk mengetahui informasi tambahan tentang pembuatan versi API, lihat Pengelolaan siklus proses API.
operationId
Meskipun operationId adalah kolom opsional dalam Spesifikasi OpenAPI, Endpoints memerlukan kolom ini karena digunakan untuk identifikasi internal operasi. String yang Anda gunakan untuk operationId
harus unik dalam API Anda. Lihat deskripsi untuk
operationId
dalam Spesifikasi OpenAPI untuk mendapatkan panduan tentang penamaan.