Al momento sto attuazione delle versioni per la nostra API REST nella nostra applicazione Rails. C'è un modo in cui questo può essere implementato in modo da definire solo nuove funzionalità nelle nuove versioni? Diciamo per esempio:elegante delle versioni API in Rails
Ho un regolatore di utenti e un controller prodotti. I prodotti sono rimasti gli stessi tra V1 e V2, ma gli utenti sono cambiati. Sarebbe bello se potessimo configurarlo in modo che se chiedo V2 di Prodotti, la mia applicazione sa che non esiste e utilizza semplicemente la versione più recente del controller (in questo caso, V1). Ciò consentirebbe a noi di non creare un nuovo set di controller per ogni versione; creeremmo solo nuovi controller per la funzionalità specifica che è cambiata.
Di seguito è riportato un frammento della nostra routes.rb, e devo ammettere che non ho idea di come affrontare questo problema. Qualsiasi aiuto sarebbe molto apprezzato!
namespace :api do
scope module: :v1, constraints: ApiConstraints.new(version: 1) do
resources :users
resources :products
end
scope module: :v2, constraints: ApiConstraints.new(version: 2) do
resources :users
end
end
Grazie per la risposta rapida! Il nostro team sta già utilizzando RABL, quindi idealmente vorremmo riutilizzare quelle viste in Grape. Sto esaminando Grape in questo momento e una volta implementata funzionante, la contrassegnerò come risposta. – NSCodeCasts