Hiện tại tôi đang triển khai phiên bản cho API REST của mình trong ứng dụng Rails của chúng tôi. Có cách nào có thể được triển khai để bạn chỉ xác định chức năng mới trong các phiên bản mới không? Ví dụ:Phiên bản API thanh lịch trong Rails
Tôi có bộ điều khiển Người dùng và bộ điều khiển Sản phẩm. Sản phẩm vẫn giữ nguyên giữa V1 và V2 nhưng Người dùng đã thay đổi. Sẽ tốt hơn nếu chúng tôi có thể thiết lập để nếu tôi gọi V2 Sản phẩm, ứng dụng của tôi biết nó không tồn tại và chỉ sử dụng phiên bản bộ điều khiển mới nhất thay thế (trong trường hợp này là V1). Điều này sẽ cho phép chúng ta không tạo ra một bộ điều khiển hoàn toàn mới cho mọi phiên bản; chúng tôi chỉ tạo bộ điều khiển mới cho chức năng cụ thể đã thay đổi.
Dưới đây là đoạn trích từ Routes.rb của chúng tôi và tôi thừa nhận rằng tôi không biết cách giải quyết vấn đề này. Mọi sự trợ giúp sẽ rất được trân trọng!
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
Cảm ơn câu trả lời nhanh! Nhóm của chúng tôi đã sử dụng RABL, vì vậy, lý tưởng là chúng tôi muốn sử dụng lại các chế độ xem đó trong Grape. Tôi đang tìm kiếm vào Grape ngay bây giờ và một khi tôi đã thực hiện công việc, tôi sẽ đánh dấu đây là câu trả lời. – NSCodeCasts