2

Maven を使用して Java で Google Cloud Endpoints のスタート ガイドに従っていますが、API Explorer でエンドポイントにアクセスできません。

プロジェクトに少し構造を追加しましたが、大部分はガイドに従いました。私のルート プロジェクト パッケージはcom.ryanharter.devinfo、エンドポイントはcom.ryanharter.devinfo.spiパッケージ内にあり、モデル クラスはパッケージ内にありますcom.ryanharter.devinfo.beans(これは Mobile Backend Starter をモデルにしています)。

Endpoints クラスを作成し、次のように注釈を付けました。

@Api(name = "deviceinfo", 
     version = "v1",
     namespace = @ApiNamespace(
        ownerDomain = "ryanharter.com",
        ownerName = "ryanharter.com", 
        packagePath = "devinfo")
     )
public class DeviceInfoV1 {

    @ApiMethod(name = "list", path = "devices", httpMethod = HttpMethod.GET)
    public DeviceListDto list(QueryDto query) {
        ...
    }

    ...

}

それはすべて問題ないようで、私が持っている他の作業中のプロジェクトと一致しますが、開発サーバーを実行すると空白の画面が表示されます。

また、Maven ログに次のように表示されていることにも気付きました。

[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ devinfo ---
[INFO] Compiling 8 source files to /path/to/devinfo/target/classes
[INFO] 
[INFO] --- appengine-maven-plugin:1.8.7:endpoints_get_discovery_doc (default) @ devinfo ---
[INFO] 
[INFO] Google App Engine Java SDK - get endpoints discovery doc...
[INFO] No Endpoints classes detected.

「エンドポイント クラスが検出されませんでした」と表示されます。/path/to/devinfo/target/classes私はそれが空であることにも気づきます。

パッケージ構造とクラスの内容は別として、私が知る限り、上記のリンクのガイドに従って手紙を書きました。

編集:

Dan への返信として、私の web.xml ファイルの内容は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<web-app
        version="2.5"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

</web-app>

上記のリンクのドキュメントによると、私はこれに触れていません。これはまさに Maven 原型が生成したものです。でエンドポイントを手動でマッピングする必要があるというレポートをオンラインで見たことがありますweb.xmlが、ドキュメントにはこれについて何も書かれていないので、maven の目標がそれを処理してくれると思いました。

4

2 に答える 2