Truy cập API Rails trong ứng dụng khách JavaScript bằng Rails Ranger
Rails Ranger là một thư viện mà tôi đã viết tập trung vào việc tận dụng các mặc định của API Ruby on Rails để giúp cuộc sống của bạn dễ dàng hơn khi viết các ứng dụng client javascript cho chúng. Về cơ bản, nó là một lớp mỏng bao bọc thư viện Axios mạnh mẽ, trong khi vẫn bộc lộ toàn bộ sức mạnh của nó cho bạn.
Cài đặt
$ yarn add rails-ranger
# or
$ npm install —-save rails-ranger
Cài đặt cơ bản
Cài đặt cơ bản nhất sẽ là như sau:
import RailsRanger from 'rails-ranger'
const config = {
axios: { baseURL: 'http://api.myapp.com' }
}
export default new RailsRanger(config)
Một lưu ý quan trọng ở đây là bất kỳ thứ gì bạn gửi bên trong tùy chọn axios sẽ được chuyển giao cho Axios như nó vốn có, vì vậy bạn có thể cấu hình nó theo ý muốn.
Sử dụng
Sau đó, làm thế nào để ta bắt đầu đưa ra yêu cầu? Như thế này:
import api from 'api-client'
api.list('users').then((response) => {
// your code
})
Vì vậy, hãy chia nhỏ những gì đang xảy ra ở đây:
- Ta nhập ứng dụng client mà ta đã cài đặt trong file trước đã thấy trong phần cấu hình.
- Ta gọi hàm
list
từ nó, chỉ là một alias choindex
. Điều này sẽ kích hoạt một yêu cầu tới URLhttp://api.myapp.com/users
. - JSON mà ta nhận được bên trong
response.data
sẽ tự động chuyển đổi tất cả các khóa của nó sang trường hợp rắn cho bạn!
Ngoài ra, bạn có thể tận dụng các tài nguyên lồng nhau với những thứ như sau:
api.resource(users, 1)
.list('blogPosts', { hideDrafts: true })
.then((response) => {
// your code
})
Và điều này sẽ tạo ra một yêu cầu:
http://api.myapp.com/users/1/blog_posts&hide_drafts=true
Lưu ý Rails Ranger đã chuyển đổi tài nguyên và các thông số của bạn từ vỏ lạc đà sang vỏ rắn, vì vậy mỗi phần của ứng dụng của bạn ( ứng dụng client và API) có thể nói theo các tiêu chuẩn ưu tiên của nó.
Mọi người đều hạnh phúc! 🎉
Các tính năng khác
Những thứ khác bạn có thể làm với Rails Ranger bao gồm sử dụng các tuyến đường có không gian tên, nội suy vào URL và thực hiện các yêu cầu HTTP thô.
Bạn có thể xem danh sách đầy đủ các hành động và phương pháp của Rails Ranger tại tài liệu toàn diện của ta . 😄
Phần thưởng: Sử dụng Rails Ranger làm người xây dựng đường dẫn
Bạn cũng có thể sử dụng Rails Ranger chỉ như một trình tạo đường dẫn và tự xử lý các yêu cầu với khách hàng yêu thích của bạn :
import { RouteBuilder } from RailsRanger
const routes = new RouteBuilder
route = routes.create('users', { name: 'John' })
// => { path: '/users', params: { name: 'John' }, method: 'post' }
Thực hiện các yêu cầu AJAX đối với API Ruby on Rails có thể rất thú vị nếu ta tận dụng các tiêu chuẩn ổn định của khuôn khổ.
Bằng cách này, ta có thể giải phóng bản thân khỏi việc xử lý các việc lặp đi lặp lại như chuyển đổi giữa trường hợp lạc đà và trường hợp rắn và tập trung vào việc truy cập các điểm cuối theo cách ngữ nghĩa. 🤠
Các tin liên quan
Hiểu các biến, phạm vi và lưu trữ trong JavaScript2018-02-20
Tìm hiểu Nguyên mẫu và Kế thừa trong JavaScript
2018-01-12
Khám phá đối tượng ngày JavaScript
2017-12-06
chuỗi con so với chuỗi con trong JavaScript
2017-11-06
Hiểu Ngày và Giờ trong JavaScript
2017-10-19
Cách xác định các hàm trong JavaScript
2017-10-09
Vòng lặp Đối với, Đối với ... Trong vòng lặp và Đối với ... Trong Vòng lặp trong JavaScript
2017-10-02
Vòng lặp Đối với, Đối với ... Trong vòng lặp và Đối với ... Trong Vòng lặp trong JavaScript
2017-10-02
Xử lý các đối tượng trong JavaScript với Object.assign, Object.keys và hasOwnProperty
2017-09-29
Sử dụng Vòng lặp While và Vòng lặp Do ... Trong khi trong JavaScript
2017-09-27