asamarinのおかげで、同じGoogleアプリケーションエンジン内で異なるエンドポイントを取得する方法を理解できました(cf Using Google endpoints in different modules of the same app)。複数のサービスで動作するGoogleエンドポイントを取得できません
しかし、私はそれを動作させることはできません(少なくともdevサーバでは、クラウドにプッシュしようとしていませんでした)。私はmodule1とmodule2の2つのモジュールを持っています。それぞれは独立したAPIを実行しています(Googleエンドポイントを使用しています)。各moduleX/main.pyで 私はこのコードを持っている:
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])
私は2つの対応するモジュールのYAMLファイルをdev_appserver.py実行すると、彼らは(ローカルホスト上のモジュール1:8080、ローカルホスト上のモジュール2:8081)も開始し。
はlocalhost:8080/_ah/API /ウェル作品を探検し、私はさまざまな方法で私のModule1のAPIを参照してくださいすることができます
はlocalhost:8081/_ah/APIここで
は問題が来ます/ explodeはlooooongの時間がかかってから、module1と全く同じAPIを見つけて、それをクリックしたとき以外はメソッドを見つけることができません。
私は木の下で何が起こっているかを確認するためにポストマンでビットを果たし、両方のローカルホストへの呼び出しことが判明しました:8080/_ah/API /発見/ V1/APIとはlocalhost:8081/_ah。 .. discoveryRestUrl
がlocalhost:8080/_ah/api/discovery/v1/apis/module1/v0/restと同じ情報を返します。面白いですが、あなたは認めます。
何か間違っていますか?複数のサービスを持つエンドポイントを処理しないのはdevサーバーだけですか?私はローカルであなたと同じ問題を抱えていたが、導入後は、それがうまく働いたとして、この問題にのみ、dev_appserverで存在すると考えているあなたの助け
複数のサービスを介してエンドポイントを使用している既存のプロジェクトへのリンク/ git repoは非常に高く評価されます。 – ValLeNain
私は同じ問題に直面しています。解決策は見つかりましたか? –
いいえ、プロジェクトを再編成する必要がありました:/ – ValLeNain