Hướng dẫn sử dụng gem Versionist cho các ứng dụng RESTful APIs
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. ...
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.