Restful là gì
Hiện nay, RESTful API được sử dụng khá phổ biến trong thế giới lập trình web, nó là một trong những tiêu chuẩn đưa ra để phát triển trong thiết kế API cho các ứng dụng web. Tuy nhiên, vẫn còn rất nhiều người mơ hồ về thuật ngữ này. Vậy RESTful API là gì? Cách thức hoạt động của RESTful API ra sao? Vietnix sẽ giúp bạn hiểu rõ về các vấn đề này trong nội dung bài viết sau đây. RESTful API (hay REST API) là một giao diện lập trình ứng dụng (API hay web API) tuân theo các ràng buộc của kiểu kiến trúc REST, cho phép tương tác với các dịch vụ web RESTful. Hay nói đơn giản, RESTful API là một tiêu chuẩn được dùng trong việc thiết kế API dành cho các ứng dụng web (thiết kế Web Services) để hỗ trợ cho việc quản lý các resource. REST là viết tắt của cụm từ Representational state transfer (ứng dụng chuyển đổi cấu trúc dữ liệu), được tạo ra lần đầu bởi nhà khoa học máy tính Roy Fielding ở những năm 2000. RESTful API là gì?Để hiểu rõ hơn RESTful API là gì, hãy cùng Vietnix phân tích sâu hơn các thành phần của nó ở trong những phần tiếp theo của bài viết. >> Xem thêm: WordPress REST API là gì? Hướng dẫn sử dụng WordPress API? Để hiểu rõ hơn về định nghĩa RESTful API là gì hay API RESTfull là gì, cần tìm hiểu kỹ về các thành phần, cấu trúc của nó, bao gồm: API (Application Programming Interface) là một tập hợp các định nghĩa và giao thức để xây dựng, tích hợp các phần mềm ứng dụng. Khái niệm này đôi khi còn được xem như một “hợp đồng” giữa người cung cấp thông tin và người sử dụng thông tin – thiết lập nội dung được yêu cầu từ người dùng (call) và từ producer (response). Chẳng hạn, một thiết kế API cho service liên quan đến thời tiết có thể yêu cầu người dùng cung cấp zip code, sau đó producer sẽ phản hồi thông tin về nhiệt độ ở khu vực đó. API là gì?Nói cách khác, nếu muốn tương tác với một máy tính hay hệ thống để truy xuất thông tin thì API sẽ giúp người dùng giao tiếp với hệ thống để nó hiểu và đáp ứng các yêu cầu. Dựa vào đặc điểm của API, các tổ chức có thể chia sẻ tài nguyên và thông tin mà vẫn có thể kiểm soát bảo mật, quá trình xác thực và quyền truy cập vào các tài nguyên đó. Bên cạnh đó, việc sử dụng API cũng không yêu cầu chi tiết về caching, tức là cách tài nguyên được truy xuất hoặc nguồn gốc của các tài nguyên này. Để hiểu rõ hơn về định nghĩa API và những định nghĩa liên quan, hãy tham khảo bài viết này: API là gì? Những điểm nổi bật nhất của API. REST là một tập hợp các ràng buộc về kiến trúc. Các developer API có thể triển khai REST theo nhiều cách khác nhau. Khi một client request được tạo thông qua RESTful API, nó sẽ chuyển một biểu diễn trạng thái của tài nguyên đến người yêu cầu (hoặc endpoint). Thông tin này sau đó sẽ được chuyển ở một trong số các định dạng như: JSON, HTML, XLT, Python, PHP hay plain text. JSON là định dạng file phổ biến nhất vì là một ngôn ngữ bất khả tri, có thể được đọc bởi cả con người lẫn máy. RESTful là gì?Cần lưu ý rằng các header và tham số cũng vô cùng quan trọng trong phương thức HTTP của một request HTTP RESTful API. Sở dĩ vì chúng chứa thông tin định danh quan trọng đối với metadata, authorization, URI, caching, cookies,… của request. Header gồm có hai loại: Request header và response header, mỗi loại đều có thông tin kết nối HTTP và status code riêng. RESTful API chia một transaction (giao dịch) ra thành nhiều module nhỏ, mỗi module giải quyết một phần cơ bản của transaction. Việc này giúp tăng tính linh hoạt nhưng đôi khi lại tương đối khó khăn cho các developer khi muốn thiết kế REST API từ đầu. Hiện tại có khá nhiều công ty cung cấp model cho các developer sử dụng, trong đó phổ biến nhất gồm có Amazon S3, CDMI hay OpenStack Swift. RESTful API hoạt động như thế nào?Một RESTful API sử dụng các câu lệnh để lấy tài nguyên, trạng thái của tài nguyên ở bất kỳ timestamp nào được gọi là một biểu diễn của tài nguyên đó. Các phương thức HTTP mà RESTful API sử dụng được xác định bởi giao thức RFC 2616:
Một số định dạng dữ liệu được RESTful API hỗ trợ:
RESTful API không sử dụng session và cookie mà dùng một access_token với mỗi request. Dữ liệu trả về thường có cấu trúc như ví dụ dưới đây (đây là cấu trúc trả về của một API get một list user trong hệ thống): { "status_code": 200, "data": [ { "name": "Vietnix", "email": "", "ny": "not found" }, { "name": "Ahri", "email": "", "ny": "Ezreal" } ], error_messages: "" }Khi request một API, có một số status code thường gặp như sau:
Khi thiết lập API cho app iOS hay client side, chúng ta nên đặt version cho các API. Ví dụ như endpoint sau: api/v1/users. Khi đó, nếu hệ thống có nâng cấp lên version mới thì vẫn có thể hỗ trợ API của phiên bản cũ, đồng thời giúp việc bảo trì và sửa chữa trở nên đơn giản hơn. Vậy những tiêu chí về API RESTful là gì? API được xem là RESTful nếu tuân theo các tiêu chí sau:
Dưới đây là một số ưu và nhược điểm của RESTful API:
API REST tuân theo tất cả các quy tắc của REST Architecture.
Ví dụ: một API REST sẽ sử dụng yêu cầu GET để truy xuất một bản ghi, một yêu cầu POST để tạo một bản ghi, một yêu cầu PUT để cập nhật một bản ghi và một yêu cầu DELETE để xóa một bản ghi . Tất cả các phương thức HTTP đều có thể được sử dụng trong các lệnh gọi API. API REST được thiết kế tốt tương tự như một trang web chạy trong trình duyệt web với chức năng HTTP được tích hợp sẵn. Hy vọng những thông tin chia sẻ trên đây đã giúp bạn hiểu được RESTful API là gì hay API RESTful là gì và những kiến thức liên quan để bạn có cái nhìn tổng quan nhất. Nếu còn bất cứ thắc mắc nào, bạn vui lòng để lại bình luận bên dưới để được Vietnix hỗ trợ nhanh chóng nhé! |