Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Cách thực hiện yêu cầu DELETE trong Node.js: Hướng dẫn toàn diện

Học cách thực hiện yêu cầu xóa trong Node.js bằng cách sử dụng mô-đun http tích hợp, thư viện axios và thư viện apidog. Hướng dẫn đầy đủ với ví dụ và các phương pháp tốt nhất để làm việc với API trong Node.js.

Minh Triết

Minh Triết

Updated on tháng 11 29, 2024

Nếu bạn là một nhà phát triển web, bạn có thể đã biết tầm quan trọng của việc giao tiếp với các API. API là các giao diện cho phép các ứng dụng khác nhau trao đổi dữ liệu và thực hiện các hành động. Một trong những cách phổ biến nhất để tương tác với API là sử dụng các yêu cầu HTTP. Các yêu cầu HTTP là các thông điệp tuân theo một định dạng và giao thức cụ thể, và chúng có thể được sử dụng để gửi và nhận dữ liệu từ một máy chủ.

Có nhiều loại yêu cầu HTTP khác nhau, chẳng hạn như GET, POST, PUT, PATCH và DELETE. Mỗi loại có một mục đích và ý nghĩa khác nhau. Trong bài viết blog này, chúng ta sẽ tập trung vào yêu cầu DELETE, được sử dụng để xóa một tài nguyên khỏi máy chủ. Chúng ta sẽ học cách thực hiện yêu cầu DELETE trong Node.js, một môi trường chạy JavaScript phổ biến cho phép bạn chạy mã JavaScript trên phía máy chủ.

💡
Apidog cung cấp một cách đơn giản để định nghĩa các điểm cuối DELETE và kiểm tra chúng một cách kỹ lưỡng. Với cú pháp trực quan và khả năng kiểm tra tự động, Apidog tối ưu hóa quy trình thực hiện và xác thực các yêu cầu DELETE trong API Node.js của bạn.
button

Vào cuối bài viết blog này, bạn sẽ có một hiểu biết vững chắc về cách thực hiện yêu cầu DELETE trong Node.js và cách làm việc với các API một cách hiệu quả. Hãy bắt đầu thôi!

Yêu cầu DELETE là gì và khi nào nên sử dụng nó

Một yêu cầu DELETE là một trong các phương thức HTTP được sử dụng để giao tiếp với các API. Như tên gọi gợi ý, một yêu cầu DELETE được sử dụng để xóa một tài nguyên khỏi máy chủ. Một tài nguyên có thể là bất cứ thứ gì được xác định bằng một URL duy nhất, chẳng hạn như một người dùng, một bài viết, một bình luận, một tệp, v.v.

Một yêu cầu DELETE thường được gửi kèm với một URL xác định tài nguyên cần xóa. Ví dụ, nếu bạn muốn xóa một người dùng có id là 123 từ một API, bạn có thể gửi một yêu cầu DELETE đến URL https://example.com/api/users/123. Máy chủ sẽ xử lý yêu cầu và trả về một phản hồi cho biết liệu việc xóa có thành công hay không.

Một yêu cầu DELETE thường được sử dụng khi bạn muốn loại bỏ một thứ không còn cần thiết hoặc liên quan. Ví dụ, bạn có thể sử dụng yêu cầu DELETE để:

  • Xóa tài khoản người dùng không hoạt động hoặc là spam
  • Xóa một bài viết hoặc một bình luận không phù hợp hoặc xúc phạm
  • Xóa một tệp đã lỗi thời hoặc bị hỏng
  • Xóa một bản ghi bị trùng lặp hoặc sai lệch

Tuy nhiên, bạn cần cẩn thận khi sử dụng yêu cầu DELETE, vì đây là một thao tác phá hủy không thể hoàn tác. Khi bạn xóa một tài nguyên, nó sẽ biến mất mãi mãi. Do đó, bạn luôn phải đảm bảo rằng bạn có quyền hạn và sự cho phép hợp lý để xóa một tài nguyên, và rằng bạn có một bản sao lưu hoặc cơ chế xác nhận nếu có điều gì đó sai.

Node.Js là gì?

Node.js là một môi trường chạy JavaScript cho phép bạn chạy mã JavaScript bên ngoài trình duyệt web. Node.js dựa trên động cơ JavaScript V8 của Google Chrome, và được sử dụng để xây dựng các ứng dụng web, đặc biệt là các ứng dụng với dữ liệu lớn và thời gian thực. Node.js cũng có một thư viện lớn các mô-đun và gói mà bạn có thể sử dụng để thêm chức năng cho các dự án của mình.

NodeJs Website

Một số lợi ích của Node.js là:

  • Nó nhanh và mở rộng, nhờ vào tính bất đồng bộ và hướng sự kiện của nó.
  • Nó đa nền tảng và mã nguồn mở, có nghĩa là bạn có thể chạy nó trên nhiều hệ điều hành khác nhau và đóng góp vào sự phát triển của nó.
  • Nó nhất quán và thống nhất, vì bạn có thể sử dụng cùng một ngôn ngữ cho cả phần front-end và back-end của ứng dụng web của mình.

Cách thực hiện một yêu cầu DELETE trong Node.js bằng cách sử dụng mô-đun http tích hợp

Một trong những cách để thực hiện một yêu cầu DELETE trong Node.js là bằng cách sử dụng mô-đun http tích hợp. Mô-đun http là một mô-đun cốt lõi cung cấp chức năng thấp cho việc làm việc với các yêu cầu và phản hồi HTTP. Để sử dụng mô-đun http, bạn cần yêu cầu nó trong mã của bạn, như sau:

const http = require('http');

Để thực hiện một yêu cầu DELETE bằng mô-đun http, bạn cần sử dụng phương thức http.request(). Phương thức này nhận hai đối số: một đối tượng tùy chọn và một hàm callback. Đối tượng tùy chọn chứa chi tiết của yêu cầu, chẳng hạn như phương thức, tên miền, cổng, đường dẫn, tiêu đề, v.v. Hàm callback sẽ được thực thi khi yêu cầu hoàn tất, và nó nhận một đối tượng phản hồi làm tham số.

Ví dụ, hãy giả sử chúng ta muốn thực hiện một yêu cầu DELETE đến URL https://jsonplaceholder.typicode.com/posts/1, đây là một API giả trả về dữ liệu giả để thử nghiệm. Chúng ta có thể sử dụng đoạn mã sau:

const http = require('http');

// Định nghĩa đối tượng tùy chọn
const options = {
  method: 'DELETE', // Xác định phương thức HTTP
  hostname: 'jsonplaceholder.typicode.com', // Xác định tên miền
  port: 443, // Xác định cổng (443 cho HTTPS)
  path: '/posts/1', // Xác định đường dẫn
};

// Thực hiện yêu cầu
const req = http.request(options, (res) => {
  // Xử lý phản hồi
  console.log('Mã trạng thái:', res.statusCode); // In mã trạng thái
  console.log('Tiêu đề:', res.headers); // In tiêu đề

  // Lấy dữ liệu từ phản hồi
  let data = '';
  res.on('data', (chunk) => {
    data += chunk; // Nối các phần lại
  });

  // Khi phản hồi hoàn tất, in dữ liệu
  res.on('end', () => {
    console.log('Dữ liệu:', data); // In dữ liệu
  });
});

// Xử lý bất kỳ lỗi nào
req.on('error', (err) => {
  console.error('Lỗi:', err.message); // In thông báo lỗi
});

// Kết thúc yêu cầu
req.end();

Cách thực hiện một yêu cầu DELETE trong Node.js bằng cách sử dụng thư viện Axios

Một cách khác để thực hiện một yêu cầu DELETE trong Node.js là bằng cách sử dụng thư viện axios. Axios là một thư viện phổ biến và dễ sử dụng cho phép bạn thực hiện các yêu cầu HTTP từ Node.js hoặc trình duyệt. Axios có nhiều tính năng và tùy chọn giúp làm việc với các API trở nên đơn giản và thuận tiện hơn. Để sử dụng axios, bạn cần cài đặt nó trong dự án của bạn bằng cách sử dụng npm hoặc yarn, như sau:

npm install axios
# hoặc
yarn add axios

Để thực hiện một yêu cầu DELETE bằng Axios, bạn cần sử dụng phương thức axios.delete(). Phương thức này nhận hai đối số: một URL và một đối tượng cấu hình tùy chọn. URL giống như cái bạn sẽ sử dụng cho mô-đun http, và đối tượng cấu hình có thể chứa các tham số và tiêu đề bổ sung cho yêu cầu. Phương thức axios.delete() trả về một promise, mà bạn có thể xử lý bằng các phương thức then() và catch().

Ví dụ, hãy sử dụng cùng một URL như trước, https://jsonplaceholder.typicode.com/posts/1, và thực hiện một yêu cầu DELETE bằng axios. Chúng ta có thể sử dụng đoạn mã sau:

const axios = require('axios');

// Thực hiện yêu cầu
axios
  .delete('https://jsonplaceholder.typicode.com/posts/1')
  .then((res) => {
    // Xử lý phản hồi
    console.log('Mã trạng thái:', res.status); // In mã trạng thái
    console.log('Tiêu đề:', res.headers); // In tiêu đề
    console.log('Dữ liệu:', res.data); // In dữ liệu
  })
  .catch((err) => {
    // Xử lý bất kỳ lỗi nào
    console.error('Lỗi:', err.message); // In thông báo lỗi
  });

Nếu bạn chạy đoạn mã này, bạn sẽ thấy điều gì đó tương tự như thế này trong bảng điều khiển:

Mã trạng thái: 200
Tiêu đề: {
  date: 'Tue, 05 Mar 2024 12:45:47 GMT',
  'content-type': 'application/json; charset=utf-8',
  'content-length': '2',
  connection: 'close',
  'x-powered-by': 'Express',
  'x-ratelimit-limit': '1000',
  'x-ratelimit-remaining': '998',
  'x-ratelimit-reset': '1614938747',
  vary: 'Origin, Accept-Encoding',
  'access-control-allow-credentials': 'true',
  'cache-control': 'no-cache',
  pragma: 'no-cache',
  expires: '-1',
  'access-control-expose-headers': 'X-Json-Placeholder-User-Id',
  'x-json-placeholder-user-id': '1',
  etag: 'W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"',
  via: '1.1 vegur',
  'cf-cache-status': 'DYNAMIC',
  'cf-request-id': '08a9f9c9f40000e6b4b3f0a000000001',
  'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
  'report-to': '{"group":"cf-nel","endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=Q%2BZL0U%2FJ9%2F5i2coL0wvYcQLLmZvIML2Zzjwqk3Iw0%2B3U%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F

Cách thực hiện một yêu cầu DELETE trong Node.js bằng cách sử dụng Apidog

Apidog là một công cụ API đơn giản hóa quy trình tạo và thử nghiệm các API trong Node.js. Nó cho phép bạn định nghĩa các điểm cuối API của bạn bằng cách sử dụng cú pháp khai báo, và nó tự động tạo tài liệu, xác thực và kiểm tra API của bạn.

button

Dưới đây là cách bạn có thể sử dụng Apidog để kiểm tra yêu cầu DELETE của bạn:

  1. Mở Apidog và tạo một yêu cầu mới.
Select new request

2. Đặt phương thức yêu cầu thành HTTP DELETE.

3. Nhập URL của tài nguyên bạn muốn cập nhật. Thêm bất kỳ tiêu đề hoặc tham số bổ sung nào bạn muốn bao gồm sau đó nhấn nút “Gửi” để gửi yêu cầu.

4. Xác minh rằng phản hồi là như bạn mong đợi.

Kết luận

Trong bài viết blog này, chúng ta đã học cách thực hiện yêu cầu DELETE trong Node.js bằng ba cách khác nhau: mô-đun http tích hợp, thư viện Axios và thư viện Apidog. Chúng ta đã thấy những lợi ích và bất lợi của mỗi phương pháp, và cách xử lý lỗi và phản hồi từ một yêu cầu DELETE. Chúng ta cũng đã học một số mẹo và thực hành tốt nhất cho việc thực hiện các yêu cầu DELETE trong Node.js và làm việc hiệu quả với các API.

button