Google Cloud Endpoint/Google App Engineの世界全体に全く新しいものです。 Googleが提供するHello Worldの例を見てみると、自動生成される2つのクラス(MyBean
とMyEndpoint
)があることを覚えているかもしれません。特にGoogle Cloud EndpointでAPIを「公開する」の本質は何ですか?
/**
* The object model for the data we are sending through endpoints
*/
public class MyBean {
private String myData;
public String getData() {
return myData;
}
public void setData(String data) {
myData = data;
}
}
そして、
/**
* An endpoint class we are exposing
*/
@Api(
name = "myApi",
version = "v1",
namespace = @ApiNamespace(
ownerDomain = "backend.myapplication.DJ.example.com",
ownerName = "backend.myapplication.DJ.example.com",
packagePath = ""
)
)
public class MyEndpoint {
/**
* A simple endpoint method that takes a name and says Hi back
*/
@ApiMethod(name = "sayHi")
public MyBean sayHi(@Named("name") String name) {
MyBean response = new MyBean();
response.setData("Hi, " + name);
return response;
}
}
は今、私はindex.htmlの中にコードを調べた(バックエンドの展開で開かれます):
これら
は、このようなものです。私はJavaScriptで次の呼び出しが見つかりました:gapi.client.myApi.sayHi({'name': name}).execute(
を今、私はそれmyApiは、注釈やsayHi(経由名前で参照することができます)、対応する方法であり、私は理解していないと、APIを露光する概念であり、アノテーションはそれを支援しています。公開APIについての情報はありません。
私はこれを理解するのに役立つだろうか?
応答と参照リンクをありがとう。私が理解しているように、このシステムを理解するための鍵は、当事者を特定することです。したがって、私がライブラリをインタフェースを通して公開したいのであれば、提供されたアノテーションを使ってライブラリを公開することができます(Googleが手助けします)。しかし、私がAndroid上で開発している場合は、私のアプリケーションへのリクエストを処理するためにGoogleのAPIを呼びたいと思うでしょう。私のバックエンドモジュールはそれらを処理し、サーブレットだけを処理します。また、バックエンドモジュールはサーバーにデプロイされます。これらのやりとりでは、自分のコードを公開する必要はありませんでした。 contd ... –
だから、私は露出の権利なしに行くのが良いですか?そして、私が露出を必要とするかもしれない唯一のシナリオは、サーバーが自分のコードに要求を送信したいときです(このようなシナリオはまだ考えていません)。 –
あなたのニーズを100%理解しているわけではありません。 Androidアプリをバックエンドとやりとりさせることが目標であれば、たとえばCloud Datastoreにデータを格納すると、Cloud Endpointsは確かに進歩しています。あなたの言葉を使って、あなたは「私のアプリケーションからのリクエストを処理するためにGoogleのAPIを呼び出す」べきだと言います。私はあなたがエンドポイントとAndroidについてのこれらの非常に良いチュートリアルを見ることをお勧めします:https://rominirani.com/gradle-tutorial-part-8-gradle-app-engine-endpoints-android-studio-6584358b29fd#.bkyd868z9。 –