API so với API REST

Oct 30 2020

Gần đây tôi đã đăng câu hỏi này: Rest API cho nhiều ứng dụng?

Sau khi tìm kiếm thêm một chút và đọc câu hỏi này https://stackoverflow.com/questions/41189842/what-is-difference-between-rest-and-api, Tôi muốn hỏi làm cách nào để chọn giữa API REST và API không phải REST?

Tại sao tôi nên thích một phong cách hơn phong cách khác?

Tôi đang hỏi thì có câu trả lời chung chung, nhưng tôi cũng sẽ đưa ra một ví dụ cụ thể.

Tôi hiểu rằng cả API REST và API không phải REST đều có thể được sử dụng bởi nhiều ứng dụng (ứng dụng máy tính, ứng dụng android, ứng dụng web, v.v.). Nếu tôi muốn tạo back-end mà tất cả các ứng dụng này sẽ chia sẻ (ứng dụng pc, ứng dụng android, ứng dụng web, v.v.), để tất cả các ứng dụng này sẽ trao đổi thông tin với back-end và back-end sẽ lưu trữ tất cả thông tin này , có sự khác biệt nào trong kiểu API mà tôi chọn không?

Ngay cả khi không có sự khác biệt, tôi nên chọn cái nào và tại sao?

Trả lời

AdarshMenon Oct 30 2020 at 12:25

REST là một loại API. Không phải tất cả các API đều là REST, nhưng tất cả các dịch vụ REST đều là API.

API là một thuật ngữ rất rộng. Nói chung đó là cách một đoạn mã nói chuyện với một đoạn mã khác. Trong phát triển web, API thường đề cập đến cách chúng ta truy xuất thông tin từ một dịch vụ trực tuyến. Tài liệu API sẽ cung cấp cho bạn danh sách các URL, tham số truy vấn và các thông tin khác về cách thực hiện yêu cầu từ API và thông báo cho bạn loại phản hồi nào sẽ được đưa ra cho mỗi truy vấn.

REST là một tập hợp các quy tắc / tiêu chuẩn / hướng dẫn về cách xây dựng một API web. Vì có nhiều cách để làm như vậy, việc có một hệ thống cấu trúc API đã được thống nhất giúp tiết kiệm thời gian đưa ra quyết định khi xây dựng một API và tiết kiệm thời gian hiểu cách sử dụng một API.

Các mô hình API phổ biến khác bao gồm SOAP và GraphQL.