Trước khi hiểu được Web API là gì , hãy xem API là gì ? (Application Programing Interface).
Theo định nghĩa của Wikipedia : Trong chương trình máy tính , một API (application programing interface) là tập hợp các định nghĩa chương trình con , các giao thức , và các công cụ để xây dựng phần mềm ứng dụng.
Hiểu một cách đơn giản , API là loại giao diện có bộ 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ách dịch vụ khác.
Web API là một API trên nên web mà có thể được truy cập thông qua giao thức HTTP. Nó là một khái niệm không phải là công nghệ. Chúng có thể xây dựng Web API bằng cách sử dụng những công nghệ khác nhau như Java , .NET etc . Ví dụ , REST APIs của Twitter cung cấp quyền đọc và ghi dữ liệu , chúng ta có thể tích hợp chức năng của twitter vào trong ứng dụng của chúng ta.
ASP.NET Web API:
ASP.NET Web API là một framework cho(mục đích của nó là) việc xây dựng các services dựa trên giao thức HTTP , các services này có thể được truy câp từ nhiều ứng dụng , nền tảng khác nhau như web,windows,mobile ... Nó trả dữ liệu về như một response thay vì view dạng html. Nó giống như là một webservice hoặc WCF services nhưng nó chỉ hỗ trợ giao thức HTTP.
Web API
Đặc điểm của ASP.NET Web API:
ASP.NET Web API là một nền tảng lý tưởng cho việc xây dựng RESTFul services..
ASP.NET Web API maps HTTP verbs to method names.
ASP.NET Web API hỗ trợ những định dạng dữ liệu trả về như JSON ,XML,BSON
ASP.NET Web API có thể được host lên IIS , hoặc mày chủ web có hỗ trợ .NET 4.0+
Web API Routing: Ở bài phần trước , chúng ta đã hoc về Web API có thể được cấu hình trong lớp WebApiConfig.Bay giờ chúng ta sẽ tìm hiểu về cách để cấu hình Web API routes. Web API routing tương tự như ASP.NET MVC Routing. Nó dùng định tuyến các yêu cầu HTTP gửi đến cho(từ đó gọi những phương thức cụ thể trong Controller để xử lý) phương thức cụ thể trên Web API Controller. Web API hỗ trợ hai loại routing sau: Convention-based Routing Attribute Routing Convention-based Routing: Trong Convention-baed Routing , Web API sử dụng mẫu route để xác định xem controller và phương thức nào sẽ được gọi và thực thi. Có ít nhất một mẫu route được thêm vào table để xử lý những yêu cầu HTTP khác nhau. Khi chúng ta tạo dự án Web API bằng cách sử dụng mẫu dự án WebAPI mà visual đã tạo sẵn . Trong thư mục App_Start , class WebApiConfig tự thêm vào route mặc định như hiển thị bên dưới. Ví dụ : WebApiConfig với Route mặc định public static class WebApiConfig { public static ...
Parameter Binding: Get Action Method with Primitive Parameter: Xem xét ví dụ về phương thức Get , phương thức này chứa tham số có kiểu dữ liệu nguyên thủy. Example: Primitive Parameter Binding public class StudentController : ApiController { public Student Get( int id) { } } Như bạn thấy phương thức Get chứa tham số id kiểu int. Vì vậy , Web API sẽ thử đính kèm giá trị id của câu truy vấn URL , sau đó chuyển đổi nó thành kiểu int và gán nó vào tham số id của phương thức Get . Ví dụ, nếu một request HTTP là http://localhost/api/student?id=1 thì giá trị của tham số id sẽ là 1. Sau đây là những request HTTP GET hợp lệ cho phương thức trên http://localhost/api/student?id=1 http://localhost/api/student?ID=1 Ghi chú: Tên tham số câu truy vấn và têm tham số của phương thức phải giống nhau . Nếu tên không giống nhau thì giá trị của tham số câu truy vấn sẽ không được gán. Thứ tự của tham số có thể khác nhau. Multiple Primit...
Action Method Return Type: Action Method Return Type: Ở trong phần trước , bạn đã tìm hiểu về ràng buộc tham só với phương thức Web API. Bài này , bạn sẽ tìm hiểu về kiểu dữ liệu trả về của nhưng phương thức mà lần lượt được nhúng vào trong response Web API gửi đến phía Client. Phương thức Web API có thể có những kiểu dữ liệu trả về sau Void Primitive type or Complex type HttpResponseMessage IHttpActionResult Void: Không nhất phải những phương thức này phải trả về một cái gì đó. Nó nó thể có kiểu trả về là void Ví dụ ,xem xét phương thức Delete sau mà chỉ xóa Student từ nguồn dữ liệu và không trả về gì cả. Example: Void Return Type public class StudentController : ApiController { public void Delete( int id) { DeleteStudentFromDB(id); } } Như bạn thấy ở trên phương thức Delete trả về void. Nó sẽ gửi trạng thái code 204 "No content" như là một lời phản hồi khi bạn gửi request HTTP Delete. Void Response Status Primit...
Nhận xét
Đăng nhận xét