Framework Cloud Endpoints untuk alat command line App Engine

Halaman ini menjelaskan cara menggunakan alat command line Endpoints Frameworks untuk membuat library klien dari API backend Python Anda (kode yang berjalan di server). Aplikasi Java atau Android apa pun dapat menggunakan library ini untuk memanggil API.

Anda dapat membuat paket library klien yang memungkinkan aplikasi mengakses API Anda menggunakan alat command line Endpoints Frameworks. Saat Anda membuat library klien, alat command line Endpoints Frameworks akan otomatis membuat Dokumen penemuan yang menjelaskan permukaan API Anda.

Alat command line Endpoints Frameworks,endpointscfg.py tersedia di library Endpoints Frameworks. Untuk mengetahui informasi tentang cara menginstal library Endpoints Frameworks menggunakan pip, lihat Menginstal library Endpoints Frameworks. Perhatikan bahwa perintah berikut mengasumsikan Anda telah menginstal library Endpoints Frameworks di direktori bernama lib. Selain itu, petunjuk ini mengasumsikan bahwa Anda telah membuat backend API. Lihat tutorial Endpoints Frameworks untuk Python untuk mengetahui contoh penggunaan alat command line Endpoints Frameworks pada kode contoh.

Membuat paket library klien dari API

Anda dapat menggunakan alat command line Endpoints Frameworks untuk membuat jenis paket klien berikut:

  • Maven: Paket ini mencakup file pom.xml dengan dependensi Endpoints Frameworks dan Library Klien Google API. File readme.html memberikan informasi mendetail tentang apa yang perlu Anda tambahkan ke file pom.xml untuk berbagai jenis aplikasi klien dan cara membuat library klien untuk API Anda menggunakan Maven.

  • Gradle: Paket ini mencakup file build.gradle dengan dependensi Endpoints Frameworks dan Google API Client Library. File readme.html memberikan informasi mendetail tentang apa yang perlu Anda tambahkan ke file build.gradle untuk berbagai jenis aplikasi klien dan cara membuat library klien untuk API Anda menggunakan Gradle.

  • Paket klien default: Paket ini berisi semua library dependensi dan file source.jar yang dihasilkan, yaitu library Java yang Anda gunakan di klien untuk memanggil API. Paket ini menyediakan semua kemampuan Library Klien Google API, termasuk OAuth, untuk klien Anda. File readme.html mencantumkan file .jar yang diperlukan untuk berbagai jenis aplikasi klien dan detail lainnya untuk menggunakan library klien.

Jika Anda menggunakan library klien dengan aplikasi Android, sebaiknya gunakan paket klien Gradle.

Membuat library klien

Untuk membuat library klien:

  1. Ubah direktori ke direktori yang berisi file app.yaml API dan class layanan API Anda. Atau, gunakan opsi --application untuk menentukan lokasi lain dari direktori aplikasi Anda.

  2. Panggil alat command line Endpoints Frameworks yang mirip dengan berikut:

    lib/endpoints/endpointscfg.py get_client_lib java -bs gradle main.EchoApi
    

    dengan main adalah class yang berisi API Anda dan EchoApi adalah nama API Anda.

  3. Tunggu hingga alat menghasilkan library klien; jika berhasil, alat akan menampilkan pesan yang mirip dengan yang berikut ini:

    API client library written to ./echo-v1.zip
    
  4. Tambahkan JAR library klien ke aplikasi Android Anda.

  5. Ulangi langkah-langkah sebelumnya setiap kali Anda mengubah kode API.

Paket library klien ditulis ke direktori saat ini, kecuali jika Anda menentukan direktori output lain menggunakan opsi output.

Sintaksis command line

Sintaksis dasarnya adalah sebagai berikut:

/path-to/your-app/lib/endpointscfg.py get_client_lib TARGET_LANG OPTIONS CLASS_NAME

dengan:

  • TARGET_LANG menentukan jenis paket klien yang ingin Anda buat. Saat ini, Anda diwajibkan untuk memberikan nilai java (untuk klien Java seperti Android).
  • OPTIONS, jika diberikan, adalah satu atau beberapa item yang ditampilkan dalam tabel Opsi
  • CLASS_NAME adalah nama class API Anda yang sepenuhnya memenuhi syarat.

Opsi

Anda dapat menggunakan opsi berikut:

Nama opsi Deskripsi Contoh
application Secara default, alat ini menghasilkan dari backend API di direktori saat ini.
Jika Anda ingin menghasilkan menggunakan direktori lain, tentukan jalur ke direktori yang berisi app.yaml dan class layanan yang menerapkan API Anda.
--application /my_path/my_api_dir
build-system Memungkinkan Anda menentukan jenis paket klien yang harus dibuat. Tentukan gradle untuk paket klien Gradle untuk Android, maven untuk paket klien Maven, atau default (atau cukup hapus opsi ini) untuk paket yang hanya berisi library dependensi dan jar sumber. --build-system=gradle
-bs gradle
hostname Menentukan dokumen penemuan rootURL.
Opsi ini menggantikan nilai default yang berasal dari entri application di dalam project API backend app.yaml ([YOUR_APP_ID].appspot.com) dan hostname yang ditentukan dalam decorator untuk API Anda.
Salah satu penggunaan opsi ini adalah menyediakan nama host localhost sebagai rootURL untuk pengujian lokal.
--hostname localhost
format Jangan tentukan atribut ini karena satu-satunya nilai yang didukung adalah nilai default, rest untuk REST. Tidak diperlukan, gunakan default.
output Menetapkan direktori tempat output ditulis.
Default: direktori tempat alat dipanggil.
--output /mydir
-o /mydir

Platform klien yang didukung

Platform berikut didukung dalam paket klien yang dihasilkan oleh alat command line Endpoints Frameworks:

Membuat dokumen OpenAPI dari API

Alat endpointscfg.py menyediakan perintah untuk membuat dokumen OpenAPI dari backend API. Sintaksis perintahnya adalah:

lib/endpoints/endpointscfg.py get_openapi_spec
    [-h]
    [-a APPLICATION]
    [--hostname HOSTNAME]
    [-o OUTPUT]
    service [service ...]

positional arguments:
  service               Fully qualified service class name.

optional arguments:
  -h, --help            Show this help message and exit.
  -a APPLICATION, --application APPLICATION
                        The path to the Python App Engine application.
  --hostname HOSTNAME   Default application hostname, if none is specified for the API service.
  -o OUTPUT, --output OUTPUT
                        The directory to store output files.
  --x-google-api-name   Add the 'x-google-api-name' field to the generated OpenAPI document.

Misalnya, menggunakan contoh echo:

$ lib/endpoints/endpointscfg.py get_openapi_spec --hostname=echo-example.appspot.com main.EchoApi
OpenAPI spec written to ./echov1openapi.json