В рамках приложения Padrino У меня есть сообщения контроллер с обычными маршрутами:Padrino приложение с REST API
Blog::App.controllers :posts do
get :index do
...
end
get :show, :with => :id do
...
end
end
Это дает мне поэтому нормальный доступ к URL в пределах сообщений имен
http://blog.dev/posts
http://blog.dev/posts/show/1
Теперь я хочу предоставить доступ через API REST с другого маршрута за пределами пространства имен, например:
http://blog.dev/api/v1/post/all
http://blog.dev/api/v1/post/1
Как я могу определить API для моих сообщений контроллера с маршрутами за пределами своих нормального пространства имен?
Должен признать, что я не уверен, что мой подход является общим. Я мог бы определить новый контроллер API V1, но в этом случае мне придется дублировать информацию о сообщениях в двух разных местах.
В случае, если это необходимо сделать с помощью контроллера API, интересно, какие камни и/или условные обозначения обычно используются для этой задачи. В идеале я хотел бы что-то, что координирует различные версии API с текущим объектом модели.
[This] (http://railscasts.com/episodes/350-rest-api-versioning) - это учебник по рельсам. Хотя, я не вижу причин, почему основная логика не могла быть использована в вашем случае. –
Вы клиент и API должны быть отдельными. Затем клиент мог вызывать API для данных, а не быть API в другом пространстве имен. –