最近、API プロジェクトにバージョニングを実装しました。これで、API の URL にシーケンスのプレフィックスを付ける必要があります/v1/
(現在 v1 を使用しているため)。
古い呼び出しを中断したくないので、透過的な互換性を確保するために、古い URL を書き換えたいと考えています。
URL like はに/events/9999/attendees
リダイレクトする必要があります/v1/events/9999/attendees
routes.rb
次のコードを使用して、レールルート構成ファイルでこれを設定しました。
match "*path", :to => redirect("/#{API_CONFIG['current_version']}/%{path}"),
:constraints => lambda { |request| true }
私が今直面している問題は、最終的に書き換えられたルートが url エンコードされているように見えることです... (または何か)実際、それは %{path}
壊れているようです. それで :
/events/9999/attendees
にリダイレクトされます/v1/events%2F9999%2Fattendees
私は何を間違っていますか?
どうもありがとう