モバイル アプリケーションで使用される RESTful Web サービスを公開する Rails アプリケーションを構築したいと考えています。保守可能でスケーラブルなものを作成したいのですが、良い結果を達成するためのベスト プラクティスについて少し混乱しています。
まず、API のバージョン管理です。時間が経つにつれて、API は成長し、可能な限りスムーズに維持したいと考えています。この投稿を読みました: API バージョニングのベスト プラクティス? 私はそれに完全に同意します。
私のルーティング戦略の抜粋は次のとおりです。
/api/v1/ .. all sorts of controllers (api v1) ...
/api/v2/ .. (api v2) ..
/api/ .. controllers of the latest mainstream API
開発戦略として、JSON データ形式を利用して新しいリソースを作成しています。
私が恐れているもう 1 つの重要な側面はセキュリティです。モバイル APP から認証トークンを生成できないため、Rails API コントローラーを保護する方法を考えています。標準の HTTP 認証を使用する必要がありますか? それを行うためのより良い方法はありますか?
最後になりましたが、全体的なパフォーマンスを改善しようとしています。不要なラック ミドルウェアを削除し、ActionController::Metal から継承し、ActiveResource を取り除きます。いくつかの落とし穴を考慮する必要がありますか?
このような RESTful アプリケーションを構築するための提案を歓迎します。