REST API là gì? Làm cách nào bạn có thể lấy dữ liệu cho ứng dụng hoặc trang web của mình?

API viết tắt là viết tắt của Application Programming Interface. API là một tập hợp các chức năng hỗ trợ giao tiếp giữa hai ứng dụng phần mềm. Về cơ bản, API nhận yêu cầu từ ứng dụng phần mềm này sang ứng dụng phần mềm khác, sau đó quay lại phần mềm khởi tạo với phản hồi phù hợp.

REST là viết tắt của Representational State Transfer, một kiến trúc được sử dụng để thiết kế các ứng dụng client-server. Với REST API, bạn sẽ nhận được bản trình bày về dữ liệu được yêu cầu lưu trữ trong cơ sở dữ liệu. REST API cũng không có trạng thái, có nghĩa là server không lưu trữ bất kỳ dữ liệu nào giữa các yêu cầu từ client.

REST API hoạt động như thế nào?

REST API truy cập dữ liệu thông qua URI (Uniform Resource Identifier). URI là các chuỗi ký tự xác định một tài nguyên cụ thể. Loại URI cụ thể được REST API sử dụng thường là URL (Uniform Resource Locator).

Để truy cập và thao tác tài nguyên, REST API sử dụng các động từ yêu cầu sau:

  • Get - tìm nạp dữ liệu từ cơ sở dữ liệu.
  • Post - thêm dữ liệu mới vào cơ sở dữ liệu.
  • Put - cập nhật dữ liệu vào cơ sở dữ liệu.
  • Delete - xóa dữ liệu khỏi cơ sở dữ liệu.

Nếu bạn muốn sử dụng dịch vụ của một trong nhiều REST API có sẵn trên web (thay vì xây dựng một API từ đầu), bạn sẽ chỉ có quyền truy cập vào động từ yêu cầu nhận của REST API (thông qua URL). Các URL này có một số thành phần nhưng những thành phần bạn cần biết là API key và truy vấn.

API key là mã định danh duy nhất mà bạn sẽ nhận được khi đăng ký trên nền tảng REST API. Truy vấn thường là một phương trình đơn giản được sử dụng để cá nhân hóa tìm kiếm của bạn. Do đó, nếu bạn muốn biết thời tiết hiện tại ở thành phố New York, phần truy vấn trong URL của bạn có thể là “city=New York”.

Việc thực hiện yêu cầu nhận sẽ trả về phản hồi bao gồm mã trạng thái và nội dung. Nếu yêu cầu thành công, nội dung phản hồi của bạn sẽ chứa dữ liệu mà bạn định sử dụng trên trang web hoặc ứng dụng của mình.

Sử dụng ứng dụng JavaScript để lấy dữ liệu từ các REST API khác nhau

Để xây dựng ứng dụng JavaScript này, có hai ứng dụng phần mềm bạn cần cài đặt trên máy tính: NodeJS và npm. Sau khi cài đặt các ứng dụng trên, bạn cần thực hiện các bước sau:

  1. Mở IDE của bạn và khởi chạy terminal.
  2. Điều hướng đến thư mục chứa file ứng dụng JavaScript của bạn bằng lệnh cd.
  3. Khởi tạo npm với dòng code sau:
    npm init -y

Có một mô-đun npm sẽ đóng vai trò chính trong chức năng của ứng dụng này. Đây là mô-đun got, là thư viện yêu cầu HTTP cho NodeJS. Dòng code sau sẽ cài đặt phiên bản mới nhất của thư viện got trong file ứng dụng của bạn:

npm install got@latest

Bây giờ, bạn có thể tiếp tục và xây dựng ứng dụng của mình.

Sử dụng thư viện Got để xây dựng ứng dụng

// import the got library into your application
import got from 'got';

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

Ứng dụng trên sẽ lấy dữ liệu từ bất kỳ REST API nào trên web. Tuy nhiên, trước tiên bạn cần cung cấp URL cho tài nguyên có liên quan.

Lấy dữ liệu từ REST API thời tiết

API Weatherbit.io là một trong những API thời tiết phổ biến hơn. Việc chèn URL của API này vào ứng dụng JavaScript đơn giản ở trên sẽ giúp ứng dụng hoạt động.

Sử dụng REST API của Weatherbit.io

// import the got library into your application
const got = require('got');

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const URL = 
     'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';

    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

URL cho API Weatherbit.io hiện là một phần của ứng dụng. Tuy nhiên, có một khía cạnh của URL mà bạn cần điều chỉnh để ứng dụng có thể chạy được. Đây là phần có nhãn “API_KEY”. API key là thứ bạn sẽ nhận được từ Weatherbit.io khi đăng ký tài khoản miễn phí.

Bạn cũng có tùy chọn điều chỉnh phần truy vấn trong đoạn code trên. Ứng dụng hiện đang truy vấn thời tiết ở vĩ độ 40,7128 và kinh độ -74,0060, nhưng bạn có thể chèn tọa độ mới. Mặc dù truy vấn ở trên là cách tiếp cận được đề xuất nhưng bạn có thể tìm kiếm thời tiết tại một địa điểm bằng tên thành phố.

Sau khi chèn API key vào phần có liên quan ở trên, giờ đây bạn có thể thực thi file JavaScript của mình. Ứng dụng sẽ hiển thị nội dung giống như đầu ra sau trong terminal của bạn:

Phản hồi API thời tiết phần 1

Phản hồi API thời tiết phần 2

Một số khía cạnh quan trọng hơn của dữ liệu phản hồi bao gồm:

  • city_name - tên của thành phố ở kinh độ và vĩ độ được cung cấp.
  • datetime - giờ chu kỳ hiện tại ở định dạng YYYY-MM-DD: HH.
  • weather - một đối tượng chứa biểu tượng thời tiết, code thời tiết và mô tả văn bản về thời tiết.

Lấy dữ liệu từ API REST tin tức

Phần này sử dụng API Newsdata.io. Giống như tất cả các API REST trên web, nó cung cấp một số tùy chọn truy vấn mà bạn có thể sử dụng để truy xuất tin tức nóng hổi từ khắp nơi trên thế giới. Với API Newsdata.io, bạn có thể nhận tin tức từ một quốc gia cụ thể hoặc bằng một ngôn ngữ, danh mục cụ thể, v.v...

Bằng cách sử dụng JavaScript Application, bạn có thể truy xuất dữ liệu từ API REST tin tức. Chỉ cần thay thế URL trong ứng dụng trên bằng URL sau:

'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

Bước tiếp theo là thay thế phần “YOUR_API_KEY” trong URL ở trên bằng API key mà bạn sẽ nhận được sau khi đăng ký với Newsdata.io. URL ở trên sẽ trả về tin nóng từ Mỹ. Tuy nhiên, nếu bạn muốn tin tức từ Nhật Bản, bạn chỉ cần thay thế truy vấn “country=us” bằng “country=jp”.

Nội dung phản hồi sẽ là một mảng các đối tượng chứa tin tức từ Mỹ. Đối tượng sau đây là đối tượng đầu tiên trong mảng:

Phản hồi API tin tức phần 1

Phản hồi API tin tức phần 2

Sử dụng ứng dụng Python để lấy dữ liệu từ các API còn lại khác nhau

Bạn có thể lấy dữ liệu cho trang web hoặc ứng dụng của mình bằng bất kỳ ngôn ngữ lập trình nào mà bạn quen thuộc. Vì vậy, nếu không muốn sử dụng JavaScript, bạn có thể đạt được kết quả tương tự với ứng dụng Python. Bạn có thể xây dựng API Python bằng một trong các framework của nó hoặc lấy dữ liệu từ API REST hiện có bằng cách sử dụng một script đơn giản.

Tất cả những gì bạn cần làm là cài đặt mô-đun HTTP python yêu cầu bằng môi trường pip. Sau đó, bạn có thể xây dựng ứng dụng Python của mình bằng code sau:

# import the requests library
import requests

# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()

for key in json:
    print(key, json[key])

Giống như các ví dụ trước, bạn sẽ cần chèn API key của mình vào phần có liên quan. Sau đó, bạn sẽ nhận được nội dung phản hồi tương tự như nội dung mà ứng dụng JavaScript trả về.

Phản hồi API tin tức (Python)

Thứ Năm, 02/11/2023 07:30
51 👨 613
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản