Tìm hiểu Web API là gì?
Trước khi chúng ta hiểu Web API là gì, hãy xem API là gì (Giao diện lập trình ứng dụng).Theo Định nghĩa API của Wikipedia: 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.
API Web như tên cho thấy, 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ì xem html. Nó giống như một dịch vụ webs hoặc dịch vụ WCF nhưng ngoại lệ là nó chỉ hỗ trợ giao thức HTTP.Đặc điểm Web API ASP.NET
1. ASP.NET Web API là một nền tảng lý tưởng để xây dựng các dịch vụ RESTful.2. ASP.NET Web API được xây dựng trên nền tảng ASP.NET và hỗ trợ request/response trong ASP.NET
3. ASP.NET Web API sử dụng maps router HTTP thành tên phương thức.
4. 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.
5. API Web ASP.NET có thể được lưu trữ trong IIS, Tự động lưu trữ hoặc máy chủ web khác hỗ trợ .NET 4.0+.
6. Framework API Web ASP.NET bao gồm httpClient mới để giao tiếp với máy chủ API Web. Có thể sử dụng httpClient 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.
Các phiên bản Asp net web api
Web API 1.0So sánh Asp.Net web api với WCF
Web API 2
Web API 3.0 phiên bản mới nhất.
Asp.Net web api
- Đây là một mã nguồn mở và nó hỗ trợ .net framework
- Hỗ trợ giao thức HTTP
- Biến đổi maps http thành phương thức
- Sử dụng định tuyến và điều kiển giống như ASP.NET MVC
- Không hỗ trợ các giao dịch không đá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.
- Lý tưởng để xây dựng các dịch vụ RESTful.
WCF
- Phụ thuộc vào net framework
- Hỗ trợ các phương thưc HTTP,TCP,UDP và thiết lập của người dùng
- Sử dụng mô hình lập trình dựa trên thuộc tính.
- Sử dụng hợp đồng dịch vụ, vận hành và dữ liệu.
- Hỗ trợ nhắn tin và giao dịch đáng tin cậy.
- Sử dụng web.config và các thuộc tính để định cấu hình một dịch vụ.
- 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, UDP.
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 công
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.
Hãy bắt đầu bằng cách tạo một dự án API Web ASP.NET đơn giản bằng Visual Studio trong phần tiếp theo.