1

そこで、EclipseでApp Engine Connected Androidアプリを作成し、正常にデプロイしました。サンプルコードも正常に機能します。

しかし今、私は新しいエンドポイントを追加したいと思います。それらを作成し、@ Apiタグとメソッドを追加して、JavascriptとAndroidから呼び出します。

ローカルにデプロイされたサーバーを呼び出すと正常に動作しますが、デプロイされたアプリエンジンを呼び出すと動作しません。

基本的に、「内部エラー」だけが表示され、APIメソッドが呼び出されたというメモを除いて、アプリエンジンログには何もありません。

したがって、2つの質問:

1)ローカルでは機能するのにAppEngineでは機能しないのはなぜですか。このメソッドが行うのは、ハードコードされた文字列のリストを返すことだけです。

2)より一般的には、内部エラーが発生したときに詳細情報を取得するにはどうすればよいですか?

AppEngineエラーをデバッグするのは難しいようです。

4

1 に答える 1

0

また、エンドポイントで奇妙なエラーが発生し、デバッグは非常に困難です。私はあなたがいくつかの規則に従わなければならないことをほのめかしました、すなわち:

  • API名とメソッド名で「_」を使用できないため、@ Api(name = "my_api")は間違っており、@ Api(name = "myApi")は正しいです。
  • apiメソッドは単純な型を返さないようにする必要があるため、Stringを返すのは間違っていますが、MyStringを返すのは正しいです。メソッドはvoidを返すこともできます。

カスタムエンドポイントの例は次のようになります。

import com.google.api.server.spi.config.Api;
import com.google.api.server.spi.config.ApiMethod;

@Api(name="myApi",
     path="my_api")
public class MyEndpoint {

    @ApiMethod (name="myMethod", 
                path="my_method",
                method="httpMethod = HttpMethod.POST")
    public MyCustomObject myMethod () {
        ...
    }
}

すべての注釈属性はオプションであることに注意してください。

于 2013-03-17T15:47:59.157 に答える