Auf dieser Seite wird beschrieben, wie Sie Ihren Code mit Decorators versehen, um eine API zu erstellen, die in mehreren Klassen implementiert ist. Wenn Sie die in Ihrer API nur eine Klasse implementiert haben, finden Sie weitere Informationen unter API erstellen. Ausführliche Informationen zu allen verfügbaren Decorators finden Sie unter Decorators.
Ersetzen Sie api_collection durch einen beliebigen Namen, sofern Sie für jede Klasse in der API denselben Namen verwenden. Jeder Klasse in der API muss der Decorator vorangestellt werden, wie im vorherigen Snippet gezeigt.
Über das Argument resource_name
Das optionale Argument resource_name für api_class ist der Name der Klasse, die Sie in der API verfügbar machen möchten. Dies ist der Name, der im API Explorer angezeigt und jeder anderen, in der Klasse verfügbar gemachten Methode vorangestellt wird.
Über das Argument path
Das optionale Argument path für api_class gibt die relative Position der Klassenmethoden in der URL an. Im vorherigen Beispiel wurde für die Klasse Shelves kein path angegeben. Also sind die Methoden unter dem Stammverzeichnis /_ah/api/library/v1 zugänglich. Die Methode list ist beispielsweise über den Pfad /_ah/api/library/v1/list zugänglich.
Wenn Sie ein Argument path für eine Klasse angeben, wird der angegebene Pfad an das Stammverzeichnis angefügt. Im vorigen Beispiel wird das path-Argument books für die Klasse Books angegeben, sodass die zugehörigen Methoden unter /_ah/api/library/v1/books zugänglich sind. Die Methode best_sellers_list ist beispielsweise über den Pfad /_ah/api/library/v1/books/best_sellers_list zugänglich.
Das Argument path ist für Methoden optional. Wenn Sie keinen path angeben, wird der Methodenname verwendet. Für Methoden angegebene Pfade werden an den Klassenpfad angehängt. Im vorigen Beispiel wurde bookmark als path für die Methode get_bookmark angegeben. Die Methode get_bookmark ist über den Pfad /_ah/api/library/v1/books/bookmark zugänglich.
Sie können das Argument path der Klasse durch Angabe eines Arguments path für die Methode überschreiben, das mit / beginnt. Angenommen, die Methode get_bookmark in der Klasse Books hat den folgenden Pfad:
@endpoints.method(Request, Response, path='/bookmark') def get_bookmark(self, request): return Response()
Durch den vorangestellten Schrägstrich wird der Pfad für die Methode get_bookmark zu /_ah/api/library/v1/bookmark.
API mit mehreren Klassen bereitstellen
In Ihrem Code endpoints.api_server zum Erstellen des API-Servers geben Sie den Namen an, den Sie der Sammlung api_class zugewiesen haben. Wenn der Name der Sammlung beispielsweise api_collection ist, erstellen Sie den Server so: