โดยทั่วไปWeb API
คอนโทรลเลอร์เป็นMVC
ตัวควบคุมที่ใช้เป็นชนิดฐานของการตอบสนองของตนแทนHttpMessageResponse
ActionResponse
เหมือนกันในแง่อื่น ๆ ส่วนใหญ่ แตกต่างที่สำคัญระหว่างประเภทโครงการคือว่าMVC Application
ประเภทโครงการเพิ่มสิ่งที่เว็บที่เฉพาะเจาะจงเช่นเริ่มต้นCSS
, JavaScript
ไฟล์และทรัพยากรอื่น ๆ ที่จำเป็นสำหรับเว็บไซต์ที่ไม่จำเป็นสำหรับการ API
MVC ใช้สำหรับสร้างเว็บไซต์ ในกรณีนี้Controllers
มักจะส่งคืนView
(เช่นการตอบกลับ HTML) ไปยังคำขอของเบราว์เซอร์ ในทางกลับกัน Web API มักถูกสร้างขึ้นเพื่อให้แอปพลิเคชันอื่นใช้งานได้ หากคุณต้องการอนุญาตให้แอปพลิเคชันอื่นเข้าถึงข้อมูล / ฟังก์ชันของคุณคุณสามารถสร้าง Web API เพื่ออำนวยความสะดวกในการเข้าถึงนี้ ตัวอย่างเช่น Facebook มี API เพื่อให้นักพัฒนาแอพเข้าถึงข้อมูลเกี่ยวกับผู้ใช้โดยใช้แอพ Web API ไม่จำเป็นต้องมีไว้สำหรับการใช้งานสาธารณะ คุณยังสามารถสร้าง API เพื่อรองรับแอปพลิเคชันของคุณเองได้ ตัวอย่างเช่นเราสร้าง Web API เพื่อรองรับฟังก์ชัน AJAX ของเว็บไซต์ MVC ของเรา
Microsoft เปลี่ยนวิธีการนำเสนอเทมเพลตต่างๆ ตอนนี้แทนที่จะใช้เทมเพลตที่แตกต่างกันสำหรับโครงการประเภทต่างๆพวกเขาสนับสนุนให้นักพัฒนาผสมผสานเทคโนโลยี ASP.NET ภายในโครงการเดียวกันได้ตามต้องการ Microsoft เรียกสิ่งนี้vNext
ว่า
อัปเดต:สำหรับ ASP.NET Core นั้น Web API ได้ถูกรวมเข้ากับประเภทโครงการ MVC 6 และApiController
คลาสจะรวมอยู่ในController
คลาส รายละเอียดเพิ่มเติมที่: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6