はてな教科書サンプルコード
2015年度以降はこちら https://github.com/hatena/perl-Intern-Bookmark
以下のコマンドを実行。
$ script/setup.sh
以下のコマンドでサーバが起動できる。デフォルトではhttp://localhost:3000/ にアクセスすれば良い。
$ script/appup
script/app.psgi
のenable 'Plack::Middleware::HatenaOAuth'
と記述しているあたりに必要な情報を登録する必要があります
Hatena::Newbie::Context
- コンテキストという名が示すように、ユーザーからのリクエストにレスポンスを返すまでに最低限必要な一連のメソッドがまとめられている
- リクエストオブジェクトを取得する
- Plack::Requestを継承した
Hatena::Newbie::Request
key
に対応するリクエストパラメーターを取得する- クエリパラメーターやルーティングによって得られたパラメーターなど全てが対象となる
- データベースハンドラーを取得する
- DBIx::Sunnyを継承した
Hatena::Newbie::DBI
- ファイル名とテンプレート変数を渡すと、レスポンスをHTMLとして設定してくれる
$c->html('index.html', { foo => $bar });
- ハッシュリファレンスを渡すと、レスポンスをJSONとして設定してくれる
$c->json({ spam => $egg });
- URLを渡すと、レスポンスをリダイレクトとして設定してくれる
$c->redirect('/');
- レスポンスオブジェクトを取得する
- Plack::Response
- ルーティング結果が格納されたハッシュリファレンスを取得する
- ルーティングは
Hatena::Newbie::Config::Route
で行われる