Halaman ini menjelaskan cara mendekorasi kode untuk membuat API yang diterapkan di beberapa class. Jika Anda menerapkan API hanya menggunakan satu class, lihat Membuat API. Lihat Dekorator untuk informasi mendetail tentang semua dekorator yang tersedia.
Ganti api_collection
dengan nama apa pun yang Anda inginkan, asalkan Anda menggunakan
nama yang sama untuk setiap class di API. Anda harus mendahului setiap class di API
dengan dekorator seperti yang ditunjukkan dalam cuplikan sebelumnya.
Tentang argumen resource_name
Argumen resource_name
opsional untuk api_class
adalah nama class
yang ingin Anda ekspos di API; ini adalah nama yang muncul di
API Explorer, ditambahkan ke metode apa pun yang ditampilkan dalam class.
Tentang argumen path
Argumen path
opsional untuk api_class
menentukan lokasi relatif tempat
metode class muncul di URL. Dalam contoh sebelumnya, path
tidak ditentukan untuk class Shelves
, sehingga metodenya dapat diakses di bawah
root, /_ah/api/library/v1
. Misalnya, metode list
dapat diakses dari
jalur /_ah/api/library/v1/list
.
Jika Anda menentukan argumen path
untuk class, jalur yang ditetapkan akan ditambahkan ke
root. Dalam contoh sebelumnya, argumen path
books
ditentukan untuk
class Books
, sehingga metodenya dapat diakses di
/_ah/api/library/v1/books
. Misalnya, metode best_sellers_list
dapat diakses dari jalur /_ah/api/library/v1/books/best_sellers_list
.
Argumen path
bersifat opsional untuk metode. Jika Anda tidak menentukan path
, nama metode akan digunakan. Setiap jalur yang ditetapkan untuk metode akan ditambahkan ke jalur class. Pada contoh sebelumnya, bookmark
ditentukan sebagai path
untuk
metode get_bookmark
. Metode get_bookmark
dapat diakses dari jalur
/_ah/api/library/v1/books/bookmark
.
Anda dapat mengganti argumen path
class dengan menentukan argumen path
metode yang diawali dengan /
. Misalnya, asumsikan bahwa metode get_bookmark
di class Books
memiliki jalur berikut:
@endpoints.method(Request, Response, path='/bookmark') def get_bookmark(self, request): return Response()
Garis miring di awal mengubah jalur untuk metode get_bookmark
menjadi
/_ah/api/library/v1/bookmark
.
Menayangkan API multi-class
Dalam kode endpoints.api_server
yang membuat server API, Anda memberikan nama yang ditetapkan untuk
koleksi api_class
. Misalnya, jika nama koleksi adalah api_collection
, Anda akan membuat server sebagai berikut: