WordPress REST API là gì? Sử dụng như thế nào?

WordPress REST API là gì? Sử dụng như thế nào?

10/04/2021

WordPress REST API là một khái niệm quan trọng cần biết khi xây dựng trang web WordPress. Vậy WordPress REST API là gì? Làm thế nào để sử dụng nó?

Mặc dù các chi tiết kỹ thuật của REST API hơi phức tạp, nhưng các khái niệm cơ bản lại tương đối dễ dàng để nắm bắt. API mới giúp mở rộng khả năng của WordPress. Hơn nữa, REST API giúp các nhà phát triển kết nối WordPress với các trang web và ứng dụng khác đơn giản hơn bao giờ hết.

WordPress REST API
WordPress REST API

Trong hướng dẫn toàn diện này, chúng tôi sẽ chỉ bạn tất cả những điều cơ bản mà bạn cần biết. Chúng tôi sẽ giải thích API là gì nói chung và REST API (và phiên bản dành riêng cho WordPress) nói riêng là gì. Sau đó sẽ là cách tự bắt đầu sử dụng WordPress REST API. 

Giới thiệu về Giao diện lập trình ứng dụng (API)

Ở cấp độ cơ bản nhất, API (Application Programming Interfaces) cho phép hai ứng dụng giao tiếp với nhau. Ví dụ: khi bạn truy cập một website, trình duyệt sẽ gửi request đến server nơi đặt trang web đó. API của server đó nhận yêu cầu của trình duyệt, rồi dịch nó. Sau đó gửi lại tất cả dữ liệu cần thiết để hiển thị trang web của bạn.

Vẫn còn nhiều điều nữa về cách thức hoạt động của API theo khía cạnh kỹ thuật. Tuy nhiên, bài viết này sẽ tập trung vào các ứng dụng thực tế.

Các developer tại các công ti lớn như Google sẽ thu thập một số mã ứng dụng và công bố công khai. Bằng cách đó, các developer khác có thể sử dụng API để giúp các trang web của riêng họ kết nối với Google và tận dụng các tính năng của nó:

Wordpress API

Ví dụ:

Bạn có thể sử dụng API Google Maps để đặt một bản đồ với tất cả dữ liệu và tính năng có liên quan của Google trên trang web của mình. Điều này giúp bạn không phải viết mã bản đồ và tự mình thu thập tất cả dữ liệu đó. 

Khi các trang web và chức năng ngày càng phức tạp, các công cụ như API trở nên quan trọng. Chúng cho phép các nhà phát triển xây dựng dựa trên chức năng hiện có. Họ chỉ cần ‘cắm’ các tính năng mới vào trang web của mình. Đổi lại, trang web sở hữu API sẽ được cải thiện khả năng hiển thị và tăng lưu lượng truy cập.

Các quy tắc cơ bản của REST API

REST API (Representational State Transfer) là một API được phát triển theo các quy tắc cụ thể. Nói cách khác, REST là các nguyên tắc mà các developer sử dụng khi xây dựng các API. Điều này đảm bảo cho các API hoạt động hiệu quả.

Có năm yếu tố cơ bản làm cho một API trở nên “RESTful”. Hãy nhớ rằng “server” là nền tảng mà API thuộc về. Và “client” là trang web, ứng dụng hoặc phần mềm đang kết nối với nền tảng đó:

Rest API

Kiến trúc client-server

API phải được xây dựng để client và server tách biệt với nhau. Nhờ đó, chúng có thể tiếp tục tự phát triển và có thể được sử dụng độc lập.

Không trạng thái

Các API REST phải tuân theo giao thức “stateless” (không trạng thái). Nói cách khác, họ không thể lưu trữ bất kỳ thông tin nào về client trên server. Request từ client cần bao gồm các dữ liệu upfront cần thiết, và response phải cung cấp mọi thứ client cần. Do đó, trong mỗi tương tác, các công việc được hoàn thành chỉ trong một lần (one and done). Đồng thời giảm cả yêu cầu bộ nhớ và khả năng xảy ra lỗi.

Cho phép cache

‘Bộ nhớ cache’ là nơi lưu trữ tạm thời dữ liệu . Vì vậy dữ liệu đó có thể được truy xuất và gửi nhanh hơn. Các RESTful API tận dụng dữ liệu có thể lưu vào cache để cải thiện tốc độ và hiệu quả. Ngoài ra, API cần cho client biết mỗi phần dữ liệu có thể và nên được lưu vào cache không.

Hệ thống phân lớp

Các REST API được xây dựng bằng cách sử dụng các lớp có chức năng được chỉ định riêng. Các lớp này tương tác với nhau, nhưng vẫn tách biệt. Điều này làm cho API dễ dàng sửa đổi và cập nhật, đồng thời cải thiện tính bảo mật.

Interface thống nhất

Tất cả các phần của REST API cần hoạt động trên cùng một interface và giao tiếp bằng các ngôn ngữ giống nhau. Interface này phải được thiết kế đặc biệt cho API và có thể tự phát triển. Nó hoạt động không được phụ thuộc vào server hoặc client.

Bất kỳ API nào tuân theo các nguyên tắc này đều có thể được coi là RESTful. Ngoài ra còn có một hạn chế thứ 6, được gọi là “code on demand”. Kỹ thuật này cho phép API hướng dẫn server truyền mã đến client để mở rộng chức năng của nó. Tuy nhiên, ràng buộc này là tùy chọn và không phải tất cả các REST API đều theo nó.

WordPress REST API

API là những công cụ tuyệt vời, nhưng chúng có phù hợp với công việc hàng ngày của bạn không? Nếu bạn là người dùng WordPress, câu trả lời chắc chắn là “có”.

Trên thực tế, có hai phiên bản riêng biệt của REST API plugin. Các phần tử của API đã được thêm vào nền tảng cốt lõi ngay từ bản cập nhật 4.4. Nó được tích hợp đầy đủ kể từ WordPress 4.7 (năm 2016). Ngày nay, WordPress đã có REST API đầy đủ chức năng của riêng nó.

Khả năng của WordPress REST API

REST API cho phép nền tảng tương tác với bất kỳ trang web và ứng dụng web nào. Ngoài ra, nó có thể giao tiếp và trao đổi dữ liệu bất kể chương trình bên ngoài sử dụng bất kỳ ngôn ngữ nào.

rest API

Điều này mở ra nhiều khả năng cho các developer. Nó cũng làm cho WordPress trở thành một nền tảng linh hoạt và phổ biến hơn bao giờ hết. Như Katie Keith, Giám đốc Điều hành tại Barn2 Media đã nói:

Bằng cách hiểu REST API, các nhà phát triển WordPress có thể chọn cách hiệu quả nhất để triển khai từng tác vụ mà không bị giới hạn trong các công nghệ hoặc nền tảng cụ thể như PHP hoặc WordPress backend. Khi được sử dụng hiệu quả, API REST giúp cho việc tích hợp của bên thứ ba dễ dàng hơn nhiều… Nó thậm chí còn mở ra các cơ hội mới, chẳng hạn như tạo các ứng dụng di động dựa trên WordPress hoặc khám phá các cách mới và độc đáo để giao tiếp với WordPress.

Cụ thể, tính năng này đôi khi được gọi là API WordPress JSON REST. Phần ‘JSON’ (JavaScript Object Notation) mô tả định dạng mà API này sử dụng để trao đổi dữ liệu. Định dạng đó dựa trên JavaScript và là một cách phổ biến để phát triển các API, nhờ nó giao tiếp tốt với nhiều ngôn ngữ lập trình phổ biến. Nói cách khác, một JSON API tạo điều kiện dễ dàng hơn cho việc giao tiếp giữa các ứng dụng sử dụng các ngôn ngữ khác nhau.

WordPress REST API request

Mọi API đều xử lý các yêu cầu và trả lại phản hồi. Nói cách khác, client yêu cầu nó thực hiện một hành động và API thực hiện hành động đó. Các API thực hiện điều này có thể theo các cách khác nhau. Các REST API nhận và phản hồi các loại yêu cầu cụ thể bằng cách sử dụng các lệnh HTML đơn giản. 

Để minh họa, đây là các phương pháp HTML cơ bản và quan trọng nhất mà client có thể gửi:

  • GET: Lệnh này lấy một tài nguyên từ server (chẳng hạn như một phần dữ liệu cụ thể).
  • POST: Client thêm một tài nguyên vào server.
  • PUT:  Để chỉnh sửa hoặc cập nhật tài nguyên đã có trên server.
  • DELETE: Xóa một tài nguyên khỏi server.

Cùng với các lệnh này, client sẽ gửi một hoặc nhiều dòng thông báo chính xác tài nguyên nào được mong muốn và những gì nên làm với tài nguyên đó. Ví dụ: yêu cầu tải lên file PHP vào một thư mục cụ thể trên máy chủ:

POST /foldername/my_file.php

Phần /foldername/my_file.php được gọi là ‘route’, vì nó cho API biết phải đi đâu và dữ liệu nào cần tương tác. Khi bạn kết hợp nó với phương thức HTTP (POST trong trường hợp này), toàn bộ hàm được gọi là ‘endpoint’.

Hầu hết các REST API và client tương tác với chúng phức tạp hơn nhiều so với phiên bản này – bao gồm phiên bản WordPress. Tuy nhiên, các yếu tố cơ bản này tạo nền tảng cho cách hoạt động của WordPress REST API.

Cách sử dụng WordPress REST API

Để truy cập WordPress REST API, cần bắt đầu bằng:

yoursite.com/wp-json/wp/v2

Sau đó, thêm vào URL này để truy cập nhiều loại dữ liệu khác nhau. Ví dụ: bạn có thể tra cứu hồ sơ người dùng cụ thể qua route sau:

yoursite.com/wp-json/wp/v2/users/4567

Trong trường hợp này, “4567” là ID người dùng duy nhất cho profile bạn muốn xem. Nếu bạn bỏ qua ID đó, thay vào đó, bạn sẽ thấy danh sách tất cả những người dùng trên trang web của mình:

Bạn có thể sử dụng cùng route cơ bản để xem các loại dữ liệu khác, như các bài đăng hoặc trang của bạn. Bạn cũng có thể tìm kiếm các tập hợp con của dữ liệu đáp ứng các tiêu chí nhất định. Ví dụ: bạn có thể truy xuất tất cả các bài đăng chứa một cụm từ cụ thể bằng cách sử dụng URL này:

yoursite.com/wp-json/wp/v2/posts?=search[keyword]

Đây chỉ là một minh họa đơn giản. Hầu như không có giới hạn nào đối với những gì bạn thực sự có thể làm khi sử dụng WordPress REST API. Nếu bạn muốn tìm hiểu thêm, bạn nên bắt đầu với các tài nguyên sau:

Tài liệu tham khảo về WordPress REST API

  • REST API Handbook: Đây là một tài nguyên WordPress chính thức ghi lại tất cả các loại thông tin về API REST. Bạn sẽ tìm thấy danh sách các endpoint mà bạn có thể sử dụng, cũng như thông tin chi tiết về một số khía cạnh cấu trúc của REST API mà chúng tôi chưa đề cập đến ở đây.
  • W3Schools tutorials: Mặc dù tài nguyên này không dành riêng cho REST API, nhưng nó cung cấp các hướng dẫn hữu ích có thể giúp bạn tìm hiểu các khái niệm chính, chẳng hạn như phương thức HTTP và JSON.
  • The Ultimate Guide to the WordPress REST API: E-book miễn phí này từ WP Engine chứa nhiều thông tin và ví dụ thực tế. Ngoài ra, nó sẽ hướng dẫn bạn cách hoàn thành một số tác vụ cơ bản (và nâng cao hơn).

Bạn đọc có thể tham khảo danh sách 10 plugin hàng đầu dành cho developer WordPress này. Chúng sẽ rất hữu ích khi bạn đang khám phá thế giới của REST API.

Một cách tiếp cận khác khi sử dụng API REST của WordPress

WordPress REST API có thể được sử dụng cho một số thứ và dự án thú vị. Chúng tôi đã thiết lập điều đó khá rõ ràng.

Tuy nhiên, có một lĩnh vực đang trở nên phổ biến thực sự:

Headless WordPress là ý tưởng tách rời hai lớp chính của hệ sinh thái WordPress – backend và frontend.

Điều này cho phép bạn lấy tất cả các tính năng tốt mà phần mềm WordPress có và kết nối chúng với một sản phẩm cuối cùng không sử dụng WordPress presentation tiêu chuẩn – nói một cách khác, nó không phải là một trang web.

Kết luận

Bây giờ là thời điểm tốt nhất để tìm hiểu về WordPress REST API. Vì nó đã được hợp nhất hoàn toàn vào WordPress core nên nó sẽ đóng một vai trò quan trọng trong tương lai của nền tảng. Các developer có thể sử dụng API này để kết nối WordPress với web rộng hơn theo cách mà trước đây rất khó hoặc không thể.

Theo Codeinwp.

Xem thêm bài viết liên quan:

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments