Web API là gì?
Trước khi tìm hiểu Web API là gì, hãy xem API là gì (Giao diện lập trình ứng dụng)?
Trong lập trình máy tính, giao diện lập trình ứng dụng (API) là một tập hợp các định nghĩa, giao thức và công cụ chương trình con để xây dựng phần mềm và ứng dụng.
Nói một cách đơn giản, API là một loại giao diện có một bộ các chức năng cho phép lập trình viên truy cập các tính năng hoặc dữ liệu cụ thể của một ứng dụng, hệ điều hành hoặc các dịch vụ khác.
Web API là một API trên web có thể được truy cập bằng giao thức HTTP. Nó là một khái niệm và không phải là một công nghệ. Chúng tôi có thể xây dựng API Web bằng các công nghệ khác nhau như Java, .NET, v.v. Ví dụ: API REST của Twitter cung cấp quyền truy cập theo chương trình để đọc và ghi dữ liệu bằng cách chúng tôi có thể tích hợp khả năng của twitter vào ứng dụng của mình.
API web ASP.NET
API Web ASP.NET là một khung mở rộng để xây dựng các dịch vụ dựa trên HTTP có thể được truy cập trong các ứng dụng khác nhau trên các nền tảng khác nhau như web, windows, mobile, v.v. Nó hoạt động ít nhiều giống như ứng dụng web ASP.NET MVC ngoại trừ rằng nó gửi dữ liệu dưới dạng phản hồi thay vì html. Nó giống như một dịch vụ webs hoặc dịch vụ WCF nhưng nó chỉ hỗ trợ giao thức HTTP.
Đặc điểm của API Web ASP.NET
- ASP.NET Web API là một nền tảng lý tưởng để xây dựng các dịch vụ RESTful.
- ASP.NET Web API được xây dựng trên nền tảng ASP.NET và hỗ trợ đường dẫn yêu cầu / phản hồi ASP.NET
- ASP.NET Web API ánh xạ các động từ HTTP thành tên phương thức.
- ASP.NET Web API hỗ trợ các định dạng khác nhau của dữ liệu phản hồi. Hỗ trợ tích hợp cho định dạng JSON, XML, BSON.
- API Web ASP.NET có thể được lưu trữ trong IIS, Tự lưu trữ hoặc máy chủ web khác hỗ trợ .NET 4.0+.
- Khung API Web ASP.NET bao gồm HTTPClient mới để giao tiếp với máy chủ API Web. HttpClient có thể được sử dụng trong phía máy chủ ASP.MVC, ứng dụng Windows Form, ứng dụng Console hoặc các ứng dụng khác.
Phiên bản API Web ASP.NET
Phiên bản API web | .NET Framework được hỗ trợ | Trùng với | Được hỗ trợ trong |
API web 1.0 | .NET Framework 4.0 | ASP.NET MVC 4 | VS 2010 |
API Web 2 – Hiện tại | .NET Framework 4.5 | ASP.NET MVC 5 | VS 2012, 2013 |
So sánh API web ASP.NET vs WCF
API web | WCF |
Nguồn mở và ships với .NET framework. | Ships với .NET framework |
Chỉ hỗ trợ giao thức HTTP. | Hỗ trợ HTTP, TCP, UDP và giao thức truyền tải tùy chỉnh. |
Bản đồ http phương thức động | Sử dụng các thuộc tính dựa trên mô hình lập trình |
Sử dụng khái niệm định tuyến và điều khiển tương tự như ASP.NET MVC. | Sử dụng hợp đồng dịch vụ, vận hành và dữ liệu. |
Không hỗ trợ nhắn tin và giao dịch đáng tin cậy. | Hỗ trợ nhắn tin và giao dịch đáng tin cậy. |
API Web có thể được cấu hình bằng lớp httpConfiguration nhưng không có trong web.config. | Sử dụng web.config và các thuộc tính để định cấu hình một dịch vụ. |
Lý tưởng để xây dựng các dịch vụ RESTful. | Hỗ trợ các dịch vụ RESTful nhưng có giới hạn. |
Khi nào nên chọn WCF?
- Chọn WCF nếu bạn sử dụng .NET Framework 3.5. API Web không hỗ trợ .NET 3.5 trở xuống.
- Chọn WCF nếu dịch vụ của bạn cần hỗ trợ nhiều giao thức như HTTP, TCP, Named pipe.
- Chọn WCF nếu bạn muốn xây dựng dịch vụ với các tiêu chuẩn WS- * như Nhắn tin đáng tin cậy, Giao dịch, Bảo mật tin nhắn.
- Chọn WCF nếu bạn muốn sử dụng các mẫu trao đổi tin nhắn Yêu cầu-Trả lời, Một chiều và Song song
Khi nào nên chọn API Web ASP.NET?
- Chọn API Web nếu bạn đang sử dụng .NET framework 4.0 trở lên.
- Chọn API Web nếu bạn muốn xây dựng một dịch vụ chỉ hỗ trợ giao thức HTTP.
- Chọn API Web để xây dựng các dịch vụ dựa trên HTTP RESTful.
- Chọn API Web nếu bạn quen thuộc với ASP.NET MVC.
Tài liệu học Web API tiếng việt
Bạn có thể download hoặc tham khảo tại một số website như:
- http://thuvienso.hcmute.edu.vn/tag/web-api.html
- https://itviec.com/blog/tai-lieu-lap-trinh-asp-net/