Questa pagina descrive come decorare il codice per creare un'API implementata in più classi. Se hai implementato l'API utilizzando una sola classe, consulta Creazione dell'API. Per informazioni dettagliate su tutti i decoratori disponibili, consulta Decoratori.
Sostituisci api_collection con il nome che preferisci, purché utilizzi lo stesso nome per ogni classe nell'API. Devi anteporre a ogni classe nell'API il decoratore come mostrato nello snippet precedente.
Informazioni sull'argomento resource_name
L'argomento facoltativo resource_name per api_class è il nome della classe che vuoi esporre nell'API; questo è il nome che viene visualizzato in API Explorer, anteposto a tutti i metodi esposti nella classe.
Informazioni sull'argomento path
L'argomento facoltativo path per api_class specifica la posizione relativa in cui i metodi della classe vengono visualizzati nell'URL. Nell'esempio precedente, non è stato specificato un path per la classe Shelves, quindi i suoi metodi sono accessibili nella root, /_ah/api/library/v1. Ad esempio, il metodo list è accessibile da
il percorso /_ah/api/library/v1/list.
Se specifichi un argomento path per una classe, il percorso specificato viene aggiunto alla root. Nell'esempio precedente, l'argomento path books è specificato per
la classe Books, quindi i suoi metodi sono accessibili in
/_ah/api/library/v1/books. Ad esempio, il metodo best_sellers_list è
accessibile dal percorso /_ah/api/library/v1/books/best_sellers_list.
L'argomento path è facoltativo per i metodi. Se non specifichi un path, viene utilizzato il nome del metodo. Tutti i percorsi specificati per i metodi vengono aggiunti al percorso della classe. Nell'esempio precedente, bookmark è specificato come path per il
get_bookmark metodo. Il metodo get_bookmark è accessibile dal percorso /_ah/api/library/v1/books/bookmark.
Puoi sostituire l'argomento path della classe specificando un argomento path
del metodo che inizia con /. Ad esempio, supponiamo che il metodo get_bookmark nella classe Books abbia il seguente percorso:
@endpoints.method(Request, Response, path='/bookmark') def get_bookmark(self, request): return Response()
La barra iniziale modifica il percorso del metodo get_bookmark in /_ah/api/library/v1/bookmark.
Gestire un'API multi-classe
Nel codice endpoints.api_server
che crea il server API, fornisci il nome che hai assegnato alla raccolta
api_class. Ad esempio, se il nome della raccolta è api_collection, puoi creare il server nel seguente modo: