Thứ năm, 15/03/2018 | 00:00 GMT+7

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:

api-client.js
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:

some-front-end-component.js
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:

  1. 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.
  2. Ta gọi hàm list từ nó, chỉ là một alias cho index . Điều này sẽ kích hoạt một yêu cầu tới URL http://api.myapp.com/users .
  3. 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. 🤠


Tags:

Các tin liên quan

Hiểu các biến, phạm vi và lưu trữ trong JavaScript
2018-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