Về cơ bản, Web API
bộ điều khiển là MVC
bộ điều khiển, sử dụng HttpMessageResponse
làm kiểu cơ sở của phản ứng của nó, thay vì ActionResponse
. Họ giống nhau ở hầu hết các khía cạnh khác. Sự khác biệt chính giữa các loại dự án là MVC Application
loại dự án thêm các thứ cụ thể trên web như mặc định CSS
, JavaScript
tệp và các tài nguyên khác cần thiết cho một trang web, không cần thiết cho API.
MVC được sử dụng để tạo các trang web. Trong trường hợp này Controllers
thường trả về View
(tức là phản hồi HTML) cho các yêu cầu của trình duyệt. Mặt khác, các API web thường được tạo ra để sử dụng bởi các ứng dụng khác. Nếu bạn muốn cho phép các ứng dụng khác truy cập dữ liệu / chức năng của mình, bạn có thể tạo API Web để tạo điều kiện cho việc truy cập này. Ví dụ: Facebook có API để cho phép các nhà phát triển ứng dụng truy cập thông tin về người dùng sử dụng Ứng dụng. API web không phải dành cho tiêu dùng công cộng. Bạn cũng có thể tạo một API để hỗ trợ các ứng dụng của riêng bạn. Ví dụ: chúng tôi đã tạo API Web để hỗ trợ chức năng AJAX của trang web MVC của chúng tôi.
Microsoft đã thay đổi cách họ trình bày các mẫu khác nhau. Bây giờ thay vì sử dụng các mẫu khác nhau cho các loại dự án khác nhau, họ khuyến khích các nhà phát triển trộn các công nghệ ASP.NET bên trong cùng một dự án khi cần. Microsoft gọi đây vNext
.
CẬP NHẬT: Đối với ASP.NET Core, API Web đã được tích hợp vào loại dự án MVC 6 và ApiController
lớp được hợp nhất thành Controller
lớp. Thông tin chi tiết tại: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6