REST API là gì? Giới thiệu về REST API. - Movan.vn

REST API là gì? Giới thiệu về REST API.

REST là kiến trúc phần mềm ngày càng trở lên phổ biến trên internet. Bạn thắc mắc REST là cái gì, cách thức tổ chức nó như thế nào, v.v… Bài viết này sẽ đem đến cho bạn cái nhìn tổng quan về REST API.

Giới thiệu về REST API

REST API là gì?

Hình ảnh 1: REST-API design

Hình ảnh 1: REST-API design

REST (REpresentational State Transfer) được đưa ra vào năm 2000, trong luận văn tiến sĩ của Roy Thomas Fielding (đồng sáng lập giao thức HTTP). Nó là một dạng chuyển đổi cấu trúc dữ liệu, là một phong cách kiến ​​trúc cho việc thiết kế các ứng dụng có kết nối. Nó sử dụng HTTP đơn giản để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.

API (Application Programming Interface) là giao diện lập trình ứng dụng giúp tạo ra các phương thức kết nối với các thư viện và ứng dụng khác nhau.

REST API là một ứng dụng chuyển đổi cấu trúc dữ liệu có các phương thức để kết nối với các thư viện và ứng dụng khác. REST API không được xem là một công nghệ, nó là một giải pháp để tạo ra các ứng dụng web services thay thế cho các kiểu khác như SOAP, WSDL (Web Service Definition Language),…

Ràng buộc REST

Cấu trúc REST API

  • Hệ thống hoạt động theo mô hình client-server, trong đó server là tập hợp các service nhỏ lắng nghe các request từ client. Với từng request khác nhau thì có thể một hoặc nhiều service xử lý.
  • Stateless (phi trạng thái). Đơn giản server và client không lưu trạng thái của nhau -> mỗi request lên server thì client phải đóng gói thông tin đầy đủ để thằng server hiểu được. Điều này giúp hệ thống của bạn dễ phát triển,bảo trì, mở rộng vì không cần tốn công CRUD trạng thái của client . Hệ thống phát triển theo hướng này có ưu điểm nhưng cũng có khuyết điểm là gia tăng lượng thông tin cần truyền tải giữa client và server.
  • Khả năng caching : Các response có thể lấy ra từ cache. Bằng cách cache các response , server giảm tải việc xử lý request, còn client cũng nhận được thông tin nhanh hơn. Ở đây ta đặt 1 thằng cache vào giữa : client- cache- server.
  • Chuẩn hóa các interface : Đây là một trong những đặc tính quan trọng của hệ thống REST. Bằng cách tạo ra các quy ước chuẩn để giao tiếp giữa các thành phần trong hệ thống, đơn giản hóa việc client có thể tương tác với server. Các quy ước này áp dụng cho toàn bộ các service giúp cho người sử dụng hệ thống của bạn dễ dụng hơn. Dễ hiểu hơn trên hệ thống đặt ra 1 chuẩn API để người dùng dù là mobile, web đều có thể kết nối vào được. Hệ thống REST có yếu điểm ở đây vì khi chuẩn hóa rồi ta không thế tối ưu từng kết nối.
  • Phân lớp hệ thống : trong hệ thống REST chia tách các thành phần hệ thống theo từng lớp, mỗi lớp chỉ sử dụng lớp ở dưới nó và giao tiếp với lớp ở ngay trên nó mà thôi. Điều này giúp giảm độ phức tạp của hệ thống, giúp các thành phần tách biệt nhau từ đó dễ dàng mở rộng từng thành phần.

Các ưu điểm của REST

  • Giúp cho ứng dụng trở nên rõ ràng hơn.
  • REST URL đại diện cho resource chứ không phải là hành động.
  • Dữ liệu được trả về với nhiều định dạng khác nhau như:  xml, html, rss, json …
  • Code đơn giản và ngắn gọn.
  • REST chú trọng vào tài nguyên hệ thống.

Các trang web ngày nay thường sử dụng REST API để cho phép kết nối dữ liệu của họ.

Facebook cũng cung cấp các REST API giúp các ứng dụng bên ngoài có thể kết nối đến dữ liệu của họ. (bạn có thể tham khảo tại đường dẫn: https://developers.facebook.com/tools/explorer).

Nếu thiết kế web service trước kia từng là SOAP, WSDL … Thì hiện nay đã có một phương pháp tốt hơn đó là: REST (Representation State Stranfer). Bởi vì REST là một phương thức nhỏ gọn . Nên rất được ưa chuộng cho dữ liệu HTTP.

Hẹn gặp lại các bạn ở serial sau. !!!!! 😀 😀

Xem thêm: Phân biệt RestAPI và GraphAPI

Nguồn tham khảo:

https://techmaster.vn/posts/33627/hoc-lap-trinh-web-online-can-ban

https://code.tutsplus.com/vi/tutorials/fake-rest-api-up-and-running-using-json-server–cms-27871

https://viblo.asia/p/co-ban-ve-rest-l5y8Rro9Mob3  v.v…

Có thể bạn quan tâm:

Dự đoán sự phát triển Big Data, IoT, và AI trong năm 2017

7 Lời khuyên để ít căng thẳng trong cuộc phỏng vấn việc làm tiếp theo của bạn

REST API là gì? Giới thiệu về REST API.
5 (100%) 3 vote[s]
Tags: api, gioithieu, restapi

Tác giả Nguyễn Văn An

>