Acceptヘッダによるコンテンツ切り替え
フォーマットの指定はクエリパラメータでできるんですが、別の方法として、Acceptヘッダを使った指定ができるようにしてあります。
自分も実際に「同じURLに対してAcceptで指定したMIME-Typeによって返すコンテンツを切り替える」なんてことをやっているわけですが、これだとキャッシュができなくなってしまうんですね。で、どうしようか考えなきゃな〜と思ってるところなのです。何か良いアイデアがあったら教えてちょんまげ。
で、今ちょっと考えているのは/foo.htmlだったらHTMLを、/foo.jsonだったらJSONを返すというものです。
sub auto : Private { (undef, $c->stash->{type}) = split /\./, uc $c->req->path; } sub foo : Local { $c->stash->{data} = {...}; $c->forward('View::' . $c->stash->{type}); }
こんな感じで。
でもこうすると静的コンテンツと区別が付かないから「static/以下は静的」とかしなきゃいけなくなって( ;´Д`)いやぁぁぁぁぁー!
追記
ikasam_aさんのdel.icio.usより
それなんて C::P::Flavour ...
( ;´Д`)いやぁぁぁぁぁー!
そうよね。皆考えることは一緒よね。