
Rails APIモード
API専用アプリ、JSONレンダリング、serializer、CORS、トークン認証、バージョニング
1API専用モードで新しいRailsアプリケーションを作成するコマンドはどれですか?
API専用モードで新しいRailsアプリケーションを作成するコマンドはどれですか?
回答
Railsアプリケーション作成時の--apiフラグは、API向けに最適化された軽量なアプリケーションを生成します。この構成では、ビュー関連のミドルウェア(cookies、sessions、flash)を除外し、デフォルトでAction ViewとAction Cableを含めず、ApplicationControllerがActionController::BaseではなくActionController::APIを継承するように設定します。これによりアプリケーションのサイズが削減され、純粋なAPIユースケースのパフォーマンスが向上します。
2Rails API専用アプリケーションでApplicationControllerはどのクラスを継承しますか?
Rails API専用アプリケーションでApplicationControllerはどのクラスを継承しますか?
回答
Rails API専用アプリケーションでは、ApplicationControllerはActionController::Baseの代わりにActionController::APIを継承します。このクラスは、HTMLレンダリング、sessions、cookies、flashメッセージに関連するモジュールを含まない軽量版です。routing、パラメータ、JSONレンダリング、callbackなど、APIに不可欠な機能のみを保持します。これにより、REST APIのためのより高性能なcontrollerが実現できます。
3RailsコントローラーでJSONレスポンスをレンダリングするために使用すべきメソッドはどれですか?
RailsコントローラーでJSONレスポンスをレンダリングするために使用すべきメソッドはどれですか?
回答
json:オプションを指定したrenderメソッドは、RailsでJSONを返す標準的な方法です。to_jsonメソッドを介して、渡されたオブジェクトを自動的にJSONに変換します。status:オプションでHTTPステータスコードをカスタマイズしたり、属性を除外したり、より細かい制御のためにserializerを使用したりできます。このアプローチはシンプルで、ほとんどの基本的なユースケースに十分です。
Rails APIでCORS(Cross-Origin Resource Sharing)を扱うために推奨されるgemはどれですか?
Rails API における serializer の役割は何ですか?
+17 面接問題