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: