リクエストハンドリング
リクエストの種類に応じて処理内容をコントロールする事の出来るコンポーネント。HTTPメソッドや許容するコンテンツタイプ(ACCEPT)の判定、レスポンス形式の指定などを行う事が出来ます。
例えばRouter::parseExtension() と一緒に使うと、リクエストの拡張子に応じて自動的にRSSやXMLなどの形式でレスポンスを出力させる事が出来ます。アクション内のコードではリクエストの種類を意識する必要はありません。
http://www.example.com/index.rss http://www.example.com/index.xml http://www.example.com/index.json
リクエストの判断材料
- リクエストURLの拡張子(Router::parseExtensionと併用)
- HTTP-X-Requested-Withヘッダが'XMLHttpRequest'
Ajaxリクエストに対するレスポンスのContent-typeは'text/html */*'です。
使用方法
コントローラの$components属性に'RequestHandler'をセットします。
class PostsController extends AppController { var $components = array('RequestHandler'); }