API là gì?
API là viết tắt của Application Programming Interface, có nghĩa là một tập hợp các quy tắc và giao thức mà cho phép các phần mềm khác tương tác với nhau. API xác định cách các thành phần của một phần mềm nên giao tiếp với nhau, bằng cách định rõ các loại yêu cầu dữ liệu mà có thể được gửi đi và nhận lại, cũng như các hành động hoặc chức năng mà có thể thực hiện.
API cung cấp một cách tiếp cận tiêu chuẩn để phát triển ứng dụng, cho phép các nhà phát triển sử dụng các tính năng hoặc dịch vụ có sẵn từ một ứng dụng hoặc hệ thống khác. Thông qua API, một ứng dụng có thể gửi yêu cầu và nhận dữ liệu từ một ứng dụng khác mà không cần biết chi tiết cài đặt nội bộ của ứng dụng đó.
API có thể được sử dụng để truy cập vào các chức năng của hệ điều hành, thư viện phần mềm, dịch vụ web hoặc ứng dụng khác. Các loại API phổ biến bao gồm API web, API RESTful và API SOAP.
API rất quan trọng trong việc phát triển phần mềm, cho phép tích hợp, chia sẻ dữ liệu và tương tác giữa các ứng dụng khác nhau một cách dễ dàng và linh hoạt.
API web là gì?
API web (Web API) là một loại API mà cho phép các ứng dụng và dịch vụ truy cập và tương tác với các chức năng và dữ liệu của một ứng dụng web thông qua giao thức HTTP trên mạng Internet. API web cung cấp các phương thức và quy tắc cho phép các ứng dụng khác sử dụng các tính năng của ứng dụng web đó.
Dưới đây là một ví dụ về API web:
Ví dụ: API web cho ứng dụng thời tiết
- URL: https://api.weather.com/forecast
- Phương thức GET: Lấy thông tin dự báo thời tiết cho một vị trí cụ thể.
- Tham số truy vấn:
- city: Tên thành phố.
- apiKey: Khóa API để xác thực yêu cầu.
- Ví dụ yêu cầu:
- URL: https://api.weather.com/forecast?city=NewYork&apiKey=abc123
- Phương thức: GET
- Ví dụ phản hồi:
- Dữ liệu JSON:jsonCopy code
{ "city": "New York", "temperature": 25, "description": "Clear sky" }
- Dữ liệu JSON:jsonCopy code
Trong ví dụ trên, API web thời tiết cho phép ứng dụng khác truy cập thông tin dự báo thời tiết bằng cách gửi yêu cầu HTTP GET đến URL cung cấp. Yêu cầu cần chứa các tham số truy vấn như tên thành phố và khóa API để xác thực yêu cầu. API web trả về phản hồi dưới dạng dữ liệu JSON, cung cấp thông tin như tên thành phố, nhiệt độ và mô tả thời tiết.
Các ví dụ khác của API web bao gồm API xử lý thanh toán trực tuyến, API xử lý đăng nhập và đăng ký người dùng, API truy vấn dữ liệu từ cơ sở dữ liệu, và nhiều hơn nữa. API web cho phép các ứng dụng khác tận dụng các chức năng và dữ liệu từ các ứng dụng web khác một cách dễ dàng và linh hoạt.
API RESTful là gì?
API RESTful là một kiểu thiết kế API dựa trên các nguyên tắc và tiêu chuẩn của kiến trúc REST (Representational State Transfer). REST là một kiểu kiến trúc phần mềm phổ biến được sử dụng để thiết kế các hệ thống phân tán trên mạng.
API RESTful sử dụng các phương thức HTTP như GET, POST, PUT và DELETE để thực hiện các hoạt động trên các tài nguyên (resource). Các tài nguyên được đại diện bằng các đường dẫn (URL), và thông tin về tài nguyên được truyền dưới dạng các định dạng dữ liệu như JSON hoặc XML. API RESTful không lưu trạng thái (stateless), có nghĩa là mỗi yêu cầu gửi đến API đều chứa đủ thông tin để xác định hoạt động cần thực hiện, và không cần lưu trạng thái trước đó.
Ví dụ về API RESTful:
- API quản lý người dùng:
- URL: /users
- Phương thức GET: Truy vấn danh sách người dùng.
- Phương thức POST: Tạo người dùng mới.
- URL: /users/{id}
- Phương thức GET: Lấy thông tin người dùng với ID cụ thể.
- Phương thức PUT: Cập nhật thông tin người dùng với ID cụ thể.
- Phương thức DELETE: Xóa người dùng với ID cụ thể.
- API quản lý bài viết:
- URL: /posts
- Phương thức GET: Truy vấn danh sách bài viết.
- Phương thức POST: Tạo bài viết mới.
- URL: /posts/{id}
- Phương thức GET: Lấy thông tin bài viết với ID cụ thể.
- Phương thức PUT: Cập nhật thông tin bài viết với ID cụ thể.
- Phương thức DELETE: Xóa bài viết với ID cụ thể.
API RESTful cung cấp một cách tiếp cận đơn giản, nhất quán và mạnh mẽ để thiết kế và tương tác với các dịch vụ web. Nó đã trở thành một tiêu chuẩn phổ biến trong việc xây dựng các hệ thống phân tán và ứng dụng web hiện đại.
API SOAP là gì?
API SOAP (Simple Object Access Protocol) là một kiểu thiết kế API sử dụng giao thức SOAP để tương tác và giao tiếp giữa các ứng dụng phần mềm. SOAP là một giao thức chuẩn cho việc trao đổi thông tin giữa các ứng dụng qua mạng sử dụng XML.
API SOAP sử dụng các thông điệp SOAP để gửi yêu cầu và nhận phản hồi từ ứng dụng khác. Các yêu cầu và phản hồi được đóng gói trong các thông điệp SOAP, và thông tin trong các thông điệp này được định dạng bằng ngôn ngữ XML. API SOAP định nghĩa cụ thể các tham số và hành động mà ứng dụng cần tuân thủ để tương tác.
Dưới đây là một ví dụ về API SOAP:
Ví dụ: API SOAP cho dịch vụ ngân hàng
- WSDL (Web Services Description Language): Mô tả dịch vụ API và các hoạt động có sẵn.
- Phương thức gửi yêu cầu: SOAP Envelope
- Phương thức nhận phản hồi: SOAP Envelope
Ví dụ yêu cầu:
xmlCopy code<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:bank="http://www.examplebank.com/wsdl">
<soap:Header/>
<soap:Body>
<bank:TransferRequest>
<bank:FromAccount>123456789</bank:FromAccount>
<bank:ToAccount>987654321</bank:ToAccount>
<bank:Amount>1000</bank:Amount>
</bank:TransferRequest>
</soap:Body>
</soap:Envelope>
Ví dụ phản hồi:
xmlCopy code<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:bank="http://www.examplebank.com/wsdl">
<soap:Header/>
<soap:Body>
<bank:TransferResponse>
<bank:TransactionID>1234567890</bank:TransactionID>
<bank:Status>Success</bank:Status>
</bank:TransferResponse>
</soap:Body>
</soap:Envelope>
Trong ví dụ trên, API SOAP cho phép ứng dụng gửi yêu cầu chuyển tiền từ tài khoản gốc đến tài khoản đích. Yêu cầu được đóng gói trong một SOAP Envelope và chứa thông tin như số tài khoản nguồn, số tài khoản đích và số tiền chuyển. API SOAP trả về một phản hồi trong một SOAP Envelope, cung cấp thông tin như mã giao dịch và trạng thái giao dịch.
Các ví dụ khác của API SOAP bao gồm API xử lý đặt hàng trong thương
Xem video “API là gì“