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 mengetahui informasi mendetail tentang semua dekorator yang tersedia.
Ganti api_collection
dengan nama apa pun yang Anda inginkan, selama 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, yang ditambahkan di awal metode apa pun yang diekspos di class.
Tentang argumen path
Argumen path
opsional untuk api_class
menentukan lokasi relatif tempat
metode class muncul di URL. Pada contoh sebelumnya, path
tidak ditentukan untuk class Shelves
, sehingga metodenya dapat diakses di
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 ditentukan 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 ditentukan 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 dimulai 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 koleksinya adalah
api_collection
, Anda akan membuat server sebagai berikut: