FuelPHPのController_Restで利用するフォーマットを制御する方法

Controller_Restは、Responseをxml・json・csvなど、色々なフォーマットに変換してくれて便利なんだけど、開発するにあたって許可しないフォーマットでは変換させたくない場合があると思うので、その場合の対処法。

Controller_Restクラスを継承したサブクラスを作成して、その中で$_supported_formatsをオーバーライドするだけ。

こんな感じに↓

class Controller_Api extends Controller_Rest
{
        /**
        * アプリケーション内で利用できるフォーマットを再定義する
        * ex) json,jsonp以外は許可しない場合
        *
        * @var  array  List all supported methods
        * @see Controller_Rest::$_supported_formats
        */
        protected $_supported_formats = array(
//            'xml'        => 'application/xml',
//            'rawxml'     => 'application/xml',
               'json'       => 'application/json' ,
               'jsonp'      => 'text/javascript' ,
//            'serialized' => 'application/vnd.php.serialized',
//            'php'        => 'text/plain',
//            'html'       => 'text/html',
//            'csv'        => 'application/csv',
       );
}

これで許容したフォーマット以外では出力しないようになる。