Halaman ini menjelaskan cara menghias kode untuk membuat API yang diimplementasikan di beberapa class. Jika Anda menerapkan API hanya menggunakan satu class, lihat Membuat API. Lihat Decorator untuk mengetahui informasi mendetail tentang semua decorator 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, yang ditambahkan ke 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. 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 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. Jalur apa pun yang ditentukan untuk metode ditambahkan ke jalur class. Dalam 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 class path
dengan menentukan argumen
metode path
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-kelas
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: