Cách sử dụng curl và JavaScript fetch cho các yêu cầu API

Khám phá cách thực hiện các yêu cầu API bằng curl và JavaScript fetch trong hướng dẫn chi tiết này. Tìm hiểu lợi ích và các phương pháp tốt nhất của mỗi phương pháp để nâng cao kỹ năng phát triển của bạn.

Minh Triết

Minh Triết

23 tháng 8 2025

Cách sử dụng curl và JavaScript fetch cho các yêu cầu API

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Trong thế giới phát triển web, việc thực hiện các yêu cầu API là một nhiệm vụ cơ bản. Dù bạn đang xây dựng một ứng dụng front-end, một dịch vụ back-end, hay kiểm tra một API, việc biết cách thực hiện những yêu cầu này một cách hiệu quả là vô cùng quan trọng. Hai công cụ phổ biến cho mục đích này là curlJavaScript fetch. Hướng dẫn này sẽ đưa bạn qua những điều cần biết về việc sử dụng các công cụ này, cung cấp cho bạn những ví dụ thực tiễn và mẹo trên đường đi.

Trước khi chúng ta đi sâu vào, nếu bạn đang tìm kiếm một cách dễ dàng để kiểm tra các API của mình, tôi khuyên bạn nên tải xuống Apidog miễn phí. Apidog đơn giản hóa quy trình kiểm tra API, giúp việc làm việc với các API phức tạp trở nên dễ dàng hơn.

button

Hiểu biết về các yêu cầu API

API là gì?

API (Giao diện lập trình ứng dụng) là một tập hợp các quy tắc cho phép các thực thể phần mềm khác nhau giao tiếp với nhau. Các API định nghĩa các phương thức và định dạng dữ liệu mà các ứng dụng có thể sử dụng để tương tác với các dịch vụ bên ngoài, cơ sở dữ liệu hoặc các ứng dụng khác.

Tại sao lại sử dụng các yêu cầu API?

Các yêu cầu API rất cần thiết để truy xuất dữ liệu từ máy chủ, gửi dữ liệu để được xử lý, và tương tác với nhiều dịch vụ web khác nhau. Chúng là nền tảng của các ứng dụng web hiện đại, cho phép các chức năng như xác thực người dùng, truy xuất dữ liệu và tích hợp bên thứ ba.

Giới thiệu về cURL

cURL là gì?

cURL là một công cụ dòng lệnh dùng để truyền dữ liệu với các URL. Nó hỗ trợ nhiều giao thức khác nhau, bao gồm HTTP, HTTPS, FTP, và nhiều hơn nữa. curl được sử dụng rộng rãi để kiểm tra các API, tải xuống các tệp và thực hiện các yêu cầu web.

Curl Logo

Cài đặt cURL

cURL đã được cài sẵn trên hầu hết các hệ thống dựa trên Unix, bao gồm macOS và Linux. Đối với Windows, bạn có thể tải xuống từ trang web chính thức của curl.

Để kiểm tra xem cURL đã được cài đặt trên hệ thống của bạn hay chưa, mở terminal hoặc command prompt của bạn và chạy:

curl --version

Cách sử dụng cơ bản của cURL

Thực hiện một yêu cầu GET đơn giản

Để thực hiện một yêu cầu GET cơ bản với cURL, bạn có thể sử dụng lệnh sau:

curl https://api.example.com/data

Lệnh này sẽ lấy dữ liệu từ URL được chỉ định.

Thêm Header

Đôi khi, bạn cần thêm header vào yêu cầu của mình. Điều này có thể được thực hiện bằng cách sử dụng cờ -H:

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com/data

Thực hiện một yêu cầu POST

Để gửi dữ liệu đến máy chủ, bạn có thể sử dụng phương thức POST. Đây là cách bạn có thể thực hiện điều đó với curl:

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com/data

Trong lệnh này, -X POST chỉ định phương thức yêu cầu, -H thêm một header, và -d gửi dữ liệu.

Giới thiệu về JavaScript fetch

JavaScript fetch là gì?

API fetch là một giao diện hiện đại cho phép bạn thực hiện các yêu cầu HTTP từ trình duyệt. Nó là một lựa chọn đơn giản hơn và mạnh mẽ hơn cho XMLHttpRequest và được sử dụng rộng rãi trong phát triển front-end.

Cách sử dụng cơ bản của fetch

Thực hiện một yêu cầu GET đơn giản

Dưới đây là cách bạn có thể thực hiện một yêu cầu GET sử dụng fetch :

fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Lỗi:', error));

Mã này sẽ lấy dữ liệu từ URL được chỉ định và ghi nó vào console.

Thêm Header

Để thêm header vào yêu cầu fetch của bạn, bạn có thể sử dụng tùy chọn headers:

fetch('https://api.example.com/data', {
  headers: {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Lỗi:', error));

Thực hiện một yêu cầu POST

Để gửi dữ liệu đến máy chủ sử dụng fetch, bạn có thể sử dụng phương thức POST:

fetch('https://api.example.com/data', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ key: 'value' })
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Lỗi:', error));

So sánh cURL và JavaScript fetch

Trường hợp sử dụng

cURL  là lý tưởng cho:

JavaScript fetch là hoàn hảo cho:

Cú pháp và Tính tiện dụng

cURL sử dụng một giao diện dòng lệnh với cú pháp có thể trở nên phức tạp với các tùy chọn nâng cao. Tuy nhiên, nó cực kỳ mạnh mẽ và linh hoạt.

JavaScript fetch, ngược lại, cung cấp một cú pháp đọc được hơn và dựa trên promise, giúp dễ dàng hơn trong việc xử lý các hoạt động bất đồng bộ và quản lý phản hồi.

Xử lý lỗi

Xử lý lỗi trong cURL được thực hiện bằng cách sử dụng mã thoát và phân tích các phản hồi thủ công. Trong JavaScript fetch, xử lý lỗi đơn giản hơn với các khối catch, cung cấp cách dễ hiểu hơn để xử lý các ngoại lệ.

Ví dụ thực tiễn

Ví dụ 1: Lấy dữ liệu người dùng

Sử dụng cURL

curl https://jsonplaceholder.typicode.com/users

Lệnh này sẽ truy xuất danh sách người dùng từ API placeholder.

Sử dụng JavaScript fetch

fetch('https://jsonplaceholder.typicode.com/users')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Lỗi:', error));

Ví dụ 2: Gửi một Mẫu

Sử dụng cURL

curl -X POST -H "Content-Type: application/json" -d '{"name":"John Doe","email":"john.doe@example.com"}' https://jsonplaceholder.typicode.com/users

Sử dụng JavaScript fetch

fetch('https://jsonplaceholder.typicode.com/users', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ name: 'John Doe', email: 'john.doe@example.com' })
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Lỗi:', error));

Sử dụng Apidog để đơn giản hóa các yêu cầu API

Nếu bạn muốn tối ưu hóa các quy trình API của mình hơn nữa, hãy xem xét việc sử dụng Apidog. Apidog là một công cụ mạnh mẽ được thiết kế để làm cho việc quản lý API trở nên dễ dàng và hiệu quả. Nó cung cấp các tính năng như tài liệu API, kiểm tra và giám sát tại một nơi.

button

Tại sao sử dụng Apidog?

apidog interface

Bắt đầu làm việc với cURL APIs bằng cách nhập chúng vào Apidog

Apidog hỗ trợ người dùng muốn nhập các lệnh cURL vào Apidog. Trong một dự án trống, nhấp vào nút tím + ở phần trên cùng bên trái của cửa sổ Apidog và chọn Nhập cURL.

stripe curl code sample

Sao chép và dán lệnh cURL vào hộp hiển thị trên màn hình của bạn.

curl code import success

Nếu thành công, bạn sẽ thấy lệnh cURL dưới dạng một yêu cầu API.

Tạo mã JavaScript Fetch ngay lập tức

Apidog có thể tạo ra mã JavaScript cần thiết cho ứng dụng của bạn trong nháy mắt.

Đầu tiên, tìm nút </> Tạo mã trên bất kỳ API hoặc yêu cầu nào, và chọn Tạo mã khách hàng trong danh sách thả xuống.

Select javascript

Tiếp theo, chọn Javascript, và tìm phần Fetch. Bạn sẽ thấy mã được tạo ra. Tất cả những gì bạn cần làm là sao chép và dán nó vào IDE (Môi trường phát triển tích hợp) của bạn và tiếp tục phát triển ứng dụng của mình.

Các phương pháp tốt nhất cho các yêu cầu API

Bảo mật các API Keys

Luôn giữ cho các API keys của bạn được bảo mật. Tránh việc mã hóa chúng trong mã của bạn, đặc biệt là trong các ứng dụng front-end. Sử dụng các biến môi trường hoặc kho bảo mật để quản lý các keys của bạn.

Xử lý lỗi

Xử lý lỗi đúng cách đảm bảo rằng ứng dụng của bạn có thể xử lý các lỗi một cách thanh thoải. Luôn kiểm tra mã trạng thái phản hồi và xử lý lỗi một cách thích hợp.

Tối ưu hóa hiệu suất

Để tối ưu hóa hiệu suất, hãy xem xét:

Các chủ đề nâng cao

Sử dụng cURL với các tập lệnh

Bạn có thể tự động hóa các lệnh cURL bằng cách sử dụng các tập lệnh shell. Điều này rất hữu ích cho các tác vụ lặp đi lặp lại, chẳng hạn như lấy dữ liệu, xử lý hàng loạt, hoặc kiểm tra các API.

#!/bin/bash
API_URL="https://api.example.com/data"
API_KEY="your_api_key"

response=$(curl -H "Authorization: Bearer $API_KEY" $API_URL)
echo $response

Sử dụng fetch với Async/Await

asyncawait làm cho các yêu cầu fetch thậm chí còn dễ đọc hơn và dễ quản lý hơn:

async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Lỗi:', error);
  }
}

fetchData();

Kết luận

Trong hướng dẫn này, chúng tôi đã khám phá cách thực hiện các yêu cầu API bằng cách sử dụng cURL và JavaScript fetch. Cả hai công cụ đều có những điểm mạnh của riêng mình và phù hợp cho các nhiệm vụ khác nhau. cURL nổi trội trong các hoạt động dòng lệnh và viết kịch bản, trong khi fetch rất thích hợp cho các ứng dụng web và các hoạt động bất đồng bộ.

Hãy nhớ rằng, nếu bạn muốn đơn giản hóa quy trình kiểm tra API của mình, hãy xem xét việc tải xuống Apidog miễn phí. Đây là một công cụ tuyệt vời giúp làm việc với các API trở nên dễ dàng hơn nhiều.

button

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API