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. Consulta la sezione Decoratori per informazioni dettagliate su tutti i decoratori disponibili.
Sostituisci api_collection con il nome che preferisci, purché utilizzi
lo stesso nome per ogni classe nell'API. Devi precedere ogni classe nell'API
con 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
Explorer API, 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 è specificato un path
per la classe Shelves, quindi i relativi metodi sono accessibili nella
radice, /_ah/api/library/v1. Ad esempio, il metodo list è accessibile dal percorso /_ah/api/library/v1/list.
Se specifichi un argomento path per una classe, il percorso specificato viene aggiunto
alla radice. Nell'esempio precedente, l'argomento path books è specificato per
la classe Books, quindi i relativi 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
metodo get_bookmark. Il metodo get_bookmark è accessibile dal percorso
/_ah/api/library/v1/books/bookmark.
Puoi eseguire l'override dell'argomento della classe path specificando un argomento del metodo path
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.
Gestione di un'API multi-classe
Nel codice endpoints.api_server
che crea il server API, fornisci il nome che hai assegnato alla tua
raccolta api_class. Ad esempio, se il nome della raccolta è
api_collection, devi creare il server nel seguente modo: