GAE/Java8試行(その5:「ローカル開発用コンソール」)


お題

前回は、Datastoreへのアクセスロジックをテストファーストで実装した。
今回は、ローカルでGAEアプリを起動して動作確認する方法について、さらっと書く。

GAE試行Index

開発環境

# OS

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="17.10 (Artful Aardvark)"

# Java

$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

# IDE

みんな大好きIntelliJ IDEA

参考

実践

前回書いたソースをちょっと修正。

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String id = req.getParameter("id");
    String name = req.getParameter("name");

    DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
    Entity e = new Entity(KeyFactory.createKey("book", Integer.parseInt(id)));
    e.setProperty("bookName", name);
    ds.put(e);
}

まずはローカル開発用サーバーを起動。これは、以前書いた記事の通り。

$ mvn appengine:run

PostmanでPOSTして確認。

リクエストパラメータをDatastoreに登録するロジックであるものの、レスポンスを特に返さないので正常に処理されたか不明。
こんな時は(こんな時に限らないか・・・)、ローカル開発用コンソールを使う。

http://localhost:8080/_ah/admin
ここにアクセス。
すると、こんな画面が表示される。これが「ローカル開発用コンソール」。

そして、「List Entries」押下すると、Postmanでリクエストパラメータに積んだ内容がDatastoreに登録されていることがわかる。
※残念ながら”参照”のみで、値の編集はできない。

まとめ

DatastoreだけでなくTaskキューの状態も見れる。また、Datastore、Memcache、Taskキューといったリソースへのアクセス可否の制御もできる。これは、便利。