GAEpでiPhone向けWebアプリを作る (6)GAEp 上にリクエストハンドラを定義する
前回の続きです。
GAEp 上にリクエストハンドラを定義する
続いて、リクエストハンドラを定義していきます。
今回は、4つのリクエストハンドラを定義します。各リクエストハンドラの用途は以下です。
今回は実装しません。API だけ用意します。
リクエストハンドラのテンプレート作成
以下のようにします。
todo/handlers.py内
import logging from google.appengine.ext import webapp # class MainView(webapp.RequestHandler): # def get(self): pass # class ToDoList(webapp.RequestHandler): # def get(self): logging.debug('ToDoList#get') return # class SaveHandler(webapp.RequestHandler): # def post(self): logging.debug('SaveHandler#post') return # class DeletionHandler(webapp.RequestHandler): # def post(self): logging.debug('DeletionHandler#post') return
各リクエストハンドラは、RequestHandler クラスのサブクラスで定義します。リファレンスは以下です。
各リクエストハンドラの役割は以下です。
- MainView
- ビューの取得用。ここにアクセスされるとメインとなるビューを html で返す。アクセスポイント
- ToDoList
- ToDo アイテムのリスト取得 API。このハンドラにアクセスしたユーザの最近の20個の ToDo アイテムをリストで返す。GET メソッドのみサポート
- SaveHandler
- 特定のユーザの特定の ToDo アイテムの作成または変更を行う API。POST メソッドのみサポート。
- DeletionHandler
- 特定の ToDo アイテムの削除を行う API。POST メソッドのみサポート。
それぞれ特に難しい部分はありません。
リクエストハンドラの URL マッピング
上記の各リクエストハンドラを、URL マッピングしておきます。
main.py内
import logging from todo.handlers import MainView from todo.handlers import ToDoList, SaveHandler, DeletionHandler from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app application = webapp.WSGIApplication( [ ('/todo/main', MainView), ('/todo/list', ToDoList), ('/todo/savereq', SaveHandler), ('/todo/deletereq', DeletionHandler), ], debug=True) def main(): run_wsgi_app(application) if __name__ == "__main__": main()
WSGIApplication クラスのコンストラクタで URL マッピングを行います。エイリアスとリクエストハンドラの組み合わせをタプルで結びつけたリストを教えるだけ。
レファレンスは以下です。
参考
Google App Engine については、基本的に Google が公開しているデベロッパーガイドを見ればだいたいのことはわかります。内容もわかりやすいです。
特に、Google App Engine Python については、以下です。
- http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/
- http://code.google.com/intl/ja/appengine/docs/python/overview.html
基本的にはこれらのサイトを見ればほとんどのことはわかりますが、その他に僕は以下の本を参考にしています。
- 作者: Dan Sanderson
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2009/11/15
- メディア: ペーパーバック
- クリック: 29回
- この商品を含むブログ (6件) を見る
和訳も出ているようです。
- 作者: Dan Sanderson,玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/01/24
- メディア: 大型本
- 購入: 5人 クリック: 414回
- この商品を含むブログ (27件) を見る