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 platform API Anda.

Alat command line Endpoints Frameworks,endpointscfg.py, tersedia di library Endpoints Frameworks. Untuk informasi tentang cara menginstal library Framework Endpoints menggunakan pip, lihat Menginstal library Framework Endpoints. Perhatikan bahwa perintah berikut mengasumsikan bahwa Anda telah menginstal library Endpoints Frameworks di direktori bernama lib. Selain itu, petunjuk ini mengasumsikan bahwa Anda telah membuat API backend. 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 menyertakan file pom.xml dengan dependensi Framework Endpoint dan Library Klien Google API. File readme.html memberikan informasi mendetail tentang hal yang perlu Anda tambahkan ke file pom.xml untuk berbagai jenis aplikasi klien dan cara mem-build library klien untuk API menggunakan Maven.

  • Gradle: Paket ini menyertakan file build.gradle dengan dependensi Framework Endpoint dan Library Klien Google API. File readme.html memberikan informasi mendetail tentang hal yang perlu Anda tambahkan ke file build.gradle untuk berbagai jenis aplikasi klien dan cara mem-build library klien untuk API menggunakan Gradle.

  • Paket klien default: Paket ini berisi semua library dependensi dan file source.jar yang dihasilkan, yang merupakan 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. Atau, gunakan opsi --application untuk menentukan beberapa lokasi lain 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 alat membuat library klien; jika berhasil, alat akan menampilkan pesan yang mirip dengan 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 beberapa 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 harus memberikan nilai java (untuk klien Java seperti Android).
  • OPTIONS, jika disediakan, adalah satu atau beberapa item yang ditampilkan di tabel Opsi
  • CLASS_NAME adalah nama class yang sepenuhnya memenuhi syarat untuk API Anda.

Opsi

Anda dapat menggunakan opsi berikut:

Nama opsi Deskripsi Contoh
application Secara default, alat ini menghasilkan dari API backend di direktori saat ini.
Jika Anda ingin membuat menggunakan direktori lain, tentukan jalur ke direktori yang berisi app.yaml dan class layanan yang mengimplementasikan API Anda.
--application /my_path/my_api_dir
build-system Memungkinkan Anda menentukan jenis paket klien yang akan 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 mengganti nilai default yang berasal dari entri application di dalam project API backend app.yaml ([YOUR_APP_ID].appspot.com) dan hostname yang ditentukan di dekorator untuk API Anda.
Salah satu penggunaan opsi ini adalah untuk menyediakan nama host localhost sebagai rootURL untuk pengujian lokal.
--hostname localhost
format Jangan tentukan 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