Dank asamarin konnte ich herausfinden, wie man verschiedene Endpunkte innerhalb derselben Google-App-Engine erhält (vgl. Using Google endpoints in different modules of the same app).Google-Endpunkte konnten nicht über mehrere Dienste hinweg funktionieren
Aber ich kann es nicht funktionieren lassen (zumindest mit dem Dev-Server, ich habe nicht versucht, es in die Cloud zu schieben). Ich habe zwei Module: module1 und module2, jede von ihnen läuft eine unabhängige API (mit Google-Endpunkten so). In jedem Modulex/main.py habe ich diesen Code:
import endpoints
from protorpc import remote
# ... some code
@endpoints.api(name="moduleX", version='v0') # X being 1 or 2 obviously
class ModuleX(remote.Service):
# ... definition of the different methods
api = endpoints.api_server([ModuleX])
Als ich mit den beiden entsprechenden Modul yaml Dateien laufen dev_appserver.py, beginnen sie gut (module1 auf localhost: 8080, module2 auf localhost: 8081) .
Hier kommt das Problem:
localhost: 8080/_ah/api/erkunden funktioniert gut und ich kann meine module1 API mit den verschiedenen Methoden
localhost sehen: 8081/_ah/api/explore braucht laaaaaange Zeit und finde genau die gleiche API wie für modul1, außer wenn ich darauf klicke, kann es die Methoden nicht finden.
ich ein wenig mit Postman gespielt haben, um zu sehen, was sich unter dem Holz vor sich geht und fand heraus, dass beide auf localhost aufruft: 8080/_ah/api/Entdeckung/v1/apis und localhost: 8081/_ah. .. geben die gleichen Informationen mit dem discoveryRestUrl
zurück, der localhost: 8080/_ah/api/Entdeckung/v1/apis/module1/v0/Rest ist. Was lustig ist, wirst du zugeben.
Mache ich etwas falsch? Ist es nur der Dev-Server, der Endpunkte mit mehreren Diensten nicht behandelt?
Danke für Ihre Hilfe
Jeder Link/Git Repo zu einem bestehenden Projekt mit Endpunkten über mehrere Dienste würde sehr geschätzt werden! – ValLeNain
Ich stehe vor dem gleichen Problem. Irgendwelche Lösungen gefunden? –
Nein, wir mussten unser Projekt reorganisieren: / – ValLeNain