Hướng dẫn sử dụng gem Versionist cho các ứng dụng RESTful APIs
Bài đăng này đã không được cập nhật trong 7 năm
Ta sử dụng gem versionist để quản lý phiên bản khi viết các ứng dụng có API. Một phiên bản của API bao gồm:
- Namespaced controllers/routes
- Namespaced presenters
- Namespaced tests
- Documentation
Bước 1: Cài đặt gem versionist
Ta chèn thêm dòng sau vào gem file sau đó chạy bundle install.
gem 'versionist'
Bước 2: Cấu hình gem versionist
Versionist cung cấp một phương thức api-version
được đặt trong config/routes.rb
được dùng để constrain một tập hợp các routes dành riêng cho API.
Ví dụ:
api_version(:module => "V1", :header => {:name => "Accept", :value => "application/vnd.mycompany.com; version=1"}) do
...
end
Bước 3 Tạo api bằng versionist
Gem versionist cho phép bạn sử dụng rails g
để tạo các version mới
Mẫu lệnh để tạo new api version:
rails g versionist:new_api_version <version của API> <module namespace của API> [options]
Ví dụ mẫu:
rails g versionist:new_api_version v1 V1 --path=value:v1 --default
Ở đây ta đã tạo API với version là v1, module là V1, option là --path=value:v1 --default
Tạo ra một controller dùng để viết api dựa trên versionist
Ta sử dụng versionist:new_controller
để tạo mới controller dựa trên versionist
Mẫu lệnh để tạo:
rails g versionist:new_controller <name> <module namespace>
Ví dụ:
rails g versionist:new_controller abc V1
Ở đây ta đã tạo ra một controller mới tên abc nằm trong V1.
Ngoài ra, ta còn có thể sử dụng gem versionist để tạo tài liệu đi kèm với api. Trong bài viết lần sau mình sẽ giới thiệu cách sử dụng document trong api với gem versionist.
All rights reserved