SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

オール・ザット・Googleテクノロジーズ

Google API互換のAPIを自作してみよう!~ API Explorerの仕組みを利用して

オール・ザット・Googleテクノロジーズ 第2回


  • X ポスト
  • このエントリーをはてなブックマークに追加

discovery documentを生成する

 "YourFirstAPI"クラスをCloud EndpointsのAPIとして実装できれば、次のコマンドを実行することで、APIの仕様となるDiscovery Documentを生成できます。

mvn appengine:endpoints_get_discovery_doc

 コマンドが正常終了すれば次のようなメッセージが表示され、"target/generated-sources/appengine-endpoints/WEB-INF/myFirstAPI-v1-rest.discovery"ファイルが作成されます。

INFO: Successfully processed appengine-endpoints/target/generated-sources/appengine-endpoints/WEB-INF/appengine-web.xml
API Discovery Document written to appengine-endpoints/target/generated-sources/appengine-endpoints/WEB-INF/myFirstAPI-v1-rpc.discovery
[INFO] Endpoints discovery doc generation done.

 "target/generated-sources/appengine-endpoints/WEB-INF/myFirstAPI-v1-rest.discovery"ファイルをエディタで開いてみると、"MyFirstAPI"クラスや"MyModel"クラス、"insert"メソッドや"list"メソッドなど、先ほど作成したAPIに関する情報が含まれていることが確認できます。

 

アプリケーションを実行する

 これでAPIの実装とその仕様を作成できたので、次のコマンドで開発サーバを起動します。

mvn appengine:devserver

 Dev App Server is now runningというメッセージが表示されたら、ブラウザで"http://localhost:8080/_ah/api/explorer"を開いてみましょう。すると、http://apis-explorer.appspot.com/にリダイレクトされ、今実装した"MyFirstAPI"というAPIが表示されています。

開発サーバでAPI Explorerが起動される
開発サーバでAPI Explorerが起動される

 

 "MyFirstAPI"をクリックすると、insertやlistといった、先ほど実装したメソッドが表示されています。

実装したAPIやメソッドの一覧が確認できる
実装したAPIやメソッドの一覧が確認できる

 

 "myFirstAPI.myModel.insert"をクリックすると、insertメソッドを実行するフォームが表示されます。

insertメソッドを実行する
insertメソッドを実行する

 

 ここで"Request body"をクリックすると、MyModelの構造に従った入力コンポーネントが表示されるので、"message"に適当な文字列を入力して"Execute"をクリックします。

insert用の入力Formも自動生成される
insert用の入力Formも自動生成される

 

 正しくinsertが実行されると、APIを実行した際のリクエスト情報と、APIから返されたレスポンス情報が表示されます。API Explorerが持つ、Discovery Documentに従ったWebクライアントの自動生成機能が利用できているわけです。

insertメソッドの実行結果
insertメソッドの実行結果

 

 insertメソッドを使っていくつかデータを入力した後で、API Explorerから"myFirstAPI.myModel.list"を実行すると、入力したデータの一覧が表示されます。

listメソッドの実行結果
listメソッドの実行結果

 

 このように、Cloud Endpointsを使うとAPI Explorerから、自分のアプリケーションのAPIを簡単に試すことできます。APIを試すために、わざわざクライアント側を実装する必要がないので、非常に便利に感じるのではないでしょうか。

 

endpoints_get_discovery_doc ゴールについて

 先の手順でendpoints_get_discovery_docゴールを紹介しましたが、実はdevserverゴールを実行することでも内部的にendpoints_get_discovery_docゴールが実行され、disocvery documentが自動生成されます。ですので、コードを修正した後はmvn appengine:endpoints_get_discovery_docを実行せずに、いきなりmvn appengine:devserverを実行しても構いません。

 ただし、APIの実装に問題があるなどの理由でdisovery documentの生成に失敗した場合、devserverゴールだとendpoints_get_discovery_docゴールの実行結果が流されてしまい、分かりにくくなる場合があります。API ExplorerがAPIの定義を読み込めていないような動作(API一覧が表示されないなど)を見せた場合には、手間を惜しまずendpoints_get_discovery_docゴールだけを実行して、その実行結果をよく確認することをおすすめします。

次のページ
認証が必要なAPIを実装する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
オール・ザット・Googleテクノロジーズ連載記事一覧
この記事の著者

小川 信一(オガワシンイチ)

株式会社トップゲート CTO & Google API Expert。日本で唯一、Google API Expertのダブルアカウント保持者である。Google App Engineの専門書を2冊出版。日本最大のApp EngineコミュニティーでGoogle App Engineの普及活動を行い、...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8090 2014/09/13 10:11

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング